在C#中是否有任何数据类型存储十六进制值?

时间:2012-01-14 07:44:32

标签: c#

在C#中

我想检查8位二进制格式(即0000000a或00010ef0)的值是否在特定范围之间....

例如,

(以下是C语言代码)

int temp=5;
if (temp>=0 || temp<10)
    printf("temp is between 0-10");

同样的方式我想检查十六进制值在给定的愤怒与否......

4 个答案:

答案 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");