我想讀取一個int。例如001.在我想切割成A = 0,B = 0和C = 1之後。我想用C做這個。謝謝!如何分割一個int
-1
A
回答
1
如果001
是你的整數值I
的比特表示,則:
int A = (I >> 2) & 0x1
int B = (I >> 1) & 0x1
int C = I & 0x1
0
可以實現通過使用模運算符(%)和整數除法(/)想要的結果。它更容易理解比按位運算符,當你開始學習C.
scanf("%d", &i);
a = i/100;
b = (i % 100)/10;
c = (i % 100) % 10;
0
卡爾比勒費爾特的評論大廈:
您可以創建一個char和諸如位字段的工會:
typedef union
{
unsigned char byte;
unsigned char b0 : 1;
unsigned char b1 : 1;
unsigned char b2 : 1;
unsigned char b3 : 1;
unsigned char b4 : 1;
unsigned char b5 : 1;
unsigned char b6 : 1;
unsigned char b7 : 1;
}TYPE_BYTE;
TYPE_BYTE sample_byte;
...然後爲sample_byte.byte指定一個值並訪問每個單獨的位,例如sample_byte.b0,sample_byte.b1等。位的分配順序取決於實現 - 閱讀編譯器手冊以查看它如何實現位域。
位域也可以用更大的int類型創建。
編輯(2011-03-15):
假設也許你想在一個3位數基地10整數讀取和三個數字分成三個變量,這裏的一些代碼,應該這樣做。它沒有經過測試,所以你可能需要做一些調整:
void split_base10(const unsigned int input, unsigned int *a, unsigned int *b, unsigned int *c)
{
unsigned int x = input;
*c = x%10;
x /= 10;
*b = x%10;
*a = x/10;
}
祝你好運!
相關問題
- 1. 如何分割一個字節[]
- 2. 如何使用php分割一個cookie
- 3. 如何分割一個字符串TWICE
- 4. 我如何分割一個textview?
- 5. 我如何分割一個RTF文件
- 6. 如何添加一個垂直分割?
- 7. 如何在mysql中分割一個varchar?
- 8. 如何分割一個PHP變量
- 9. 如何分割中的每一個
- 10. 如何分割獲得一個單位
- 11. 如何分割一個列表?
- 12. 我如何做一個多重分割
- 13. 如何分割一個Python串
- 14. 如何分割一個javascript數組?
- 15. 如何分割一個整數?
- 16. 分割一個IplImage
- 17. 如何分割這個XmlDocument?
- 18. 如何分割這個位?
- 19. 蟒3地板分割並不總是導致一個int
- 20. 如何分割numpy數組保留前一個分割的幾個元素?
- 21. 字符串分割到兩個陣列一個int和一個字符串
- 22. 如何分割
- 23. 分割一個div分成四個格
- 24. 如何分割一個id並獲取一個數字?
- 25. 分割一個Javascript文件
- 26. 分割一個字符串
- 27. 分割從一個表
- 28. 轉換爲int分割字符串
- 29. 獲得分割後INT 0值中,
- 30. javascript分割字符串到int數組
這是功課嗎? – 2011-02-01 21:13:45
爲什麼你想使用多個變量而不是數組?另外,我建議你在使用之前先查看「truncate」。 – geoffspear 2011-02-01 21:16:12
爲什麼不讀取char數組而不是int,並且您已經將所有單個數字排列在不同的變量(索引)中。只需記住檢查每個到`isdigit()`,並刪除結尾'\ 0' – Peyman 2011-02-01 22:14:07