數字只有0跟1的二進位,再數字3之後,該如何簡易寫出.....例如
1的二進位數等於1
2的二進位數等於10
3的二進位數等於11
4的二進位數等於100
5的二進位數等於101
6的二進位數等於110
void test(int a) { int b,c; b = a % 2; c = a / 2; if (c ==0) printf("%d",b); else{ test(c); printf("%d",b); } };
這種東西有簡易的表達方法嗎?!
正規法是用2去除那個數...
小弟我都是用底下這樣方式偷懶算的
請參閱~
無限延伸?! 不太懂您的意思..
基本上那是 2 的 n 次方, 有用到就填 1 , 沒用到就填 0 ...
不懂的是-2號問題
有些人會把0000001=001=1
往左邊無限延伸的0有代表什麼意義嗎
為什麼很多ex0000001跟001都是指同一數值1
問題1
0 或 1如何來?! 算囉, 不然呢?!
有無規律...應該沒有吧...
10幾位數的10進位如何快速轉成2進位?!
用程式或是計算機算...用手算或心算應該答不到您的需求.
問題2
小弟不才, 我有看過用類似 0x0001 這樣表示的, 但我沒看過
用 ex0000001 來表示 2 進位..
基本上, 只要有先表示那是2進位數值, 管它前面幾個0,
從左邊數來有 1 的地方開始看就是了~
以十進位的10 轉成 二進位的1010
過程 10 / 2 = 5 餘 0
5 / 2 = 2 餘 1
2 / 2 = 1 餘 0
1 / 2 = 0 餘 1
你去觀察餘數的排列由下至上是 1010
就是把十進位的數值一直除以2, 直到除出來的答案為 0,
在把餘數排列就是你要的答案.