在C#中
我想检查8位二进制格式(即0000000a或00010ef0)的值是否在特定范围之间....
例如,(以下是C语言代码)
int temp=5;
if (temp>=0 || temp<10)
printf("temp is between 0-10");
同样的方式我想检查十六进制值在给定的愤怒与否......
答案 0 :(得分:7)
int temp=0x5;
后跟if (temp >= 0xa || temp < 0x10ef0)
看起来就像你想要的那样。
||
表示OR,但您可能需要AND(&&
)。
基本上,前缀为0x
告诉编译器你是用十六进制指定的东西。
答案 1 :(得分:6)
您可以使用int family types:
int val=0x19;
答案 2 :(得分:3)
除了“printf”之外,您在C编译中发布的代码在C#中具有相同的效果:
int temp=5;
if (temp>=0 || temp<10)
Console.WriteLine("temp is between 0-10");
如果您需要在C#中表示十六进制常量,请在前面添加0x
,就像您在C中所做的那样。
答案 3 :(得分:3)
您可以将十六进制值的字符串转换为整数
int hexvalue = int.Parse(value.ToString(),System.Globalization.NumberStyles.HexNumber);
然后进行正常测试
if (hexvalue >=0 || hexvalue <10)
Console.WriteLine("hexvalue is between 0-10");