我想读取一个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. 如何在mysql中分割一个varchar?
- 2. 如何分割一个整数?
- 3. 如何使用php分割一个cookie
- 4. 如何分割一个PHP变量
- 5. 如何分割一个Python串
- 6. 如何分割一个字符串TWICE
- 7. 分割一个IplImage
- 8. 如何分割这个位?
- 9. 如何分割numpy数组保留前一个分割的几个元素?
- 10. 字符串分割到两个阵列一个int和一个字符串
- 11. 分割一个字符串
- 12. 分割从一个表
- 13. 转换为int分割字符串
- 14. 获得分割后INT 0值中,
- 15. javascript分割字符串到int数组
- 16. 如何分割列表中的一个部分?
- 17. 如何在多于一个部分分割屏幕
- 18. 如何分割url
- 19. 如何分割CDockablePane?
- 20. 如何分割组
- 21. 如何将一个字符串通过分隔符分割成一个数组?
- 22. Emacs快捷键从一个水平分割切换到一个垂直分割?
- 23. 如何在两个字符列表中分割一个单词
- 24. 如何在多个条件下分割一个字符串
- 25. 如何将多个文件分割成一个gb文件夹?
- 26. 如何分割一定范围
- 27. 如何分割一次字符串?
- 28. VB.NET - 分割成多个分割号码
- 29. 如何捕捉一个int
- 30. 如何从一个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