我试图将十进制转换为二进制但有些当我转换128二进制时输出给我11111110,我试图修复计算但仍然以相同的输出结束。
// fetch realm from cloud
[privateDatabase fetchRecordWithID:recordID completionHandler:^(CKRecord *record, NSError *error) {
if (!error) {
CKAsset *realmAsset = record[@"Realm"];
...
// Do not delete existing default.realm file in documents
// create a new default.realm file with downloaded data
// as deferent file name
NSString* newFileName = @"default1.realm"; // default2.realm, default3.realm, ...
NSString* newfileAtPath = [filePath stringByAppendingPathComponent:newfileAtPath];
if([[NSFileManager defaultManager] createFileAtPath:newfileAtPath contents:realmData attributes:nil]) {
// Switch to using new file to create Realm instance
// e.g. set new file path to de default configuration file URL
let config = Realm.Configuration(fileURL: NSURL(fileURLWithPath: newfileAtPath)!)
Realm.Configuration.defaultConfiguration = config
...
}
答案 0 :(得分:2)
你有一个问题,你正在向后写这个号码。你需要先从最高位开始
for (int powerOfTwo = 128; powerOfTwo > 0; powerOfTwo /= 2) {
当您以十进制书写时,您会以最高权力开始,例如1234是1 * 1000 + 2 * 100 + 3 * 10 + 4 * 1
答案 1 :(得分:0)
你可以采取简单的方法并使用:
Integer.toBinaryString(int i)
然后将字符串打印到控制台。
查看here.
答案 2 :(得分:-1)
public class DCTB {
public void convertor(int n)
{
for(int i=0;i<10;i++)
{
int arr=(int) (n%2);
n=n/2;
System.out.println(Integer.toString(arr));
}
}
public static void main(String args[])
{
DCTB obj=new DCTB();
obj.convertor(10);
}
}