我想读取一个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