[問題] 輸入一整數,並將其轉換為二進位的數字
一個程式實作的問題:
task:輸入一整數,並將它轉換為二進位的數字後印出.
以下是程式碼:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int(i=0,number,arr[100];
printf("please input a number");
scanf("%d,&number);
while(number>=1){
arr[i++] = number%2;
number/=2;
}
printf("\n 二進位表示為:",number);
for(i--;i>=0;i--)
print("%d,arr[i]);
printf("\n");
system("PAUSE");
return 0;
}
以下是我的問題
1.arr[i++] 本身是甚麼意思?
2.number/=2 更新運算式本身的用意?
3.for(i--;i>=0;i--),為何初始值可設定為i--?
4.最後將arr[i] print 出來與二進位的數字有甚麼關係?
煩請路過的善心人士不吝指教!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.123.200
→
07/25 18:39, , 1F
07/25 18:39, 1F
→
07/25 18:41, , 2F
07/25 18:41, 2F
→
07/25 18:41, , 3F
07/25 18:41, 3F
→
07/25 18:55, , 4F
07/25 18:55, 4F
推
07/25 19:18, , 5F
07/25 19:18, 5F
→
07/25 20:51, , 6F
07/25 20:51, 6F
→
07/25 20:54, , 7F
07/25 20:54, 7F
→
07/25 20:55, , 8F
07/25 20:55, 8F
→
07/25 20:55, , 9F
07/25 20:55, 9F
→
07/25 20:55, , 10F
07/25 20:55, 10F
→
07/25 20:56, , 11F
07/25 20:56, 11F
推
07/25 21:07, , 12F
07/25 21:07, 12F
→
07/25 21:08, , 13F
07/25 21:08, 13F
→
07/25 21:29, , 14F
07/25 21:29, 14F
推
07/25 21:51, , 15F
07/25 21:51, 15F
→
07/25 22:14, , 16F
07/25 22:14, 16F
→
07/25 22:14, , 17F
07/25 22:14, 17F
→
07/25 22:30, , 18F
07/25 22:30, 18F
→
07/25 22:33, , 19F
07/25 22:33, 19F
→
07/25 22:34, , 20F
07/25 22:34, 20F
推
07/25 22:52, , 21F
07/25 22:52, 21F
→
07/25 22:54, , 22F
07/25 22:54, 22F
→
07/25 22:56, , 23F
07/25 22:56, 23F
→
07/25 22:58, , 24F
07/25 22:58, 24F
→
07/25 22:59, , 25F
07/25 22:59, 25F
→
07/26 09:49, , 26F
07/26 09:49, 26F
→
07/26 09:53, , 27F
07/26 09:53, 27F
→
07/26 09:53, , 28F
07/26 09:53, 28F
推
07/26 10:48, , 29F
07/26 10:48, 29F