标签: unsigned-integer

在mysql中表示n位无符号整数

我如何在 mysql 中表示这些数据?

16 bit unsigned integer -----Range: 0x0000 - 0xFFF7
64 bit unsigned int.  Depicted as xx:xx:xx:xx:xx:xx:xx:xx -----Range: 0x0000 - 0xFFFFFFFFFFFFFFFF
2 bits ----- 00 - None,  01 - Residential  Security,  10 - High Security
32 bit unsigned int
Run Code Online (Sandbox Code Playgroud)

我应该将所有内容转换为字符串并在应用程序层转换吗?

mysql database-schema unsigned-integer

2
推荐指数
1
解决办法
4861
查看次数

零速度最快的方式

将无符号整数归零的最快方法是什么?

我目前只是将值设置为0,但我不知道是否有任何将变量归零的技巧?在我当前的项目中,我需要几个时钟周期.我使用的是标准的8051处理器,如果有帮助的话,我需要两个不同的变量才能达到零.

c zero 8051 unsigned-integer

2
推荐指数
1
解决办法
254
查看次数

如何将char数组转换为unsigned int?

我有以下代码:

volatile unsigned int * address;
char * array="0x10000008";
Run Code Online (Sandbox Code Playgroud)

请告诉我,将"数组"值写入"地址"变量的正确方法是什么?

c arrays pointers char unsigned-integer

2
推荐指数
1
解决办法
5677
查看次数

如果"x =(date << 7)>> 12"和{y = date << 7; z = y >> 12;},为什么x和z的评估方式不同?

这实在是frustrating.What的是,可能的原因(date<<7)>>12是给来自不同的结果y>>12,其中ydate<<7?.我要补充一点,因为我打算后工作正常,但首先是not.What区别?我看没有.

#include<stdio.h>

int main()
{
unsigned short date=5225,x,y,z;
x=(date<<7)>>12;
printf("Month is %hu\n",x);
y=date<<7;
z=y>>12;
printf("Month is %hu\n",z);

}
Run Code Online (Sandbox Code Playgroud)

OUTPUT

Month is 163

Month is 3

c short bit-shift unsigned-integer

2
推荐指数
1
解决办法
75
查看次数

Java 8无符号整数加法和潜在溢出

我正在使用Cay S. Horstmann的书"Java SE 8 for the Really Impatient"进行练习.基于Number课程改进的练习之一是:

编写一个程序,使用值和无符号运算对0到2 32 - 1 之间的数字进行相加,减法,除法和比较int.说明原因divideUnsigned并且remainderUnsigned是必要的.

问题是,如果添加2个无符号整数,则总和可能溢出整数限制.我没有看到一种方法来防止这种情况,如果不使用long来存储总和并检查它是否大于Integer.MAX_VALUE.是否可以仅使用整数执行此操作?

numbers integer-overflow addition unsigned-integer java-8

2
推荐指数
1
解决办法
1627
查看次数

指向C中不同数据类型的指针

我已经在C中编译并运行以下程序:

#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>

int main(int argc, char* argv[]){
  uint8_t data[8] = {0, 1, 2, 3, 4, 5, 6, 7};
  uint32_t* pointer32 = &data[0];
  uint64_t* pointer64 = &data[0];

  printf("%" PRIu64 "\n", *pointer64);
  printf("%" PRIu32 "\n", *(pointer32++));
  printf("%" PRIu32 "\n", *pointer32);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

并收到以下预期输出:

506097522914230528
50462976
117835012
Run Code Online (Sandbox Code Playgroud)

输出是正确的,并且对应于数据的按位解释为无符号的64位整数和无符号的32位整数。我在运行Ubuntu 14.04的64位计算机上尝试了此操作。它是用普通的gcc编译器(4.8.4?)编译的。编译器的确发出“来自不兼容指针类型的赋值”警告(可以放心地忽略它,因为有意使用不兼容的赋值)。

这是一种转换和解释“数据”数组中数据的可靠方法,还是更好地建议手动将每个字节一次复制并移位到一个临时变量中?

c pointers unsigned-char unsigned-integer

2
推荐指数
1
解决办法
1273
查看次数

什么是整型文字类型?以及它们是如何存储的?

我刚刚开始学习 C,一个问题困扰了我一段时间。如果我写

int i = -1;
unsigned int j = 2;
unsigned int k = -2;
Run Code Online (Sandbox Code Playgroud)

整数文字-1and 2and的类型是什么-2,它如何转换为存储在signed intand 中unsigned int

有符号整数是什么意思,是变量还是整数文字的属性?比如-2有符号整数和2无符号整数?

c signed constants unsigned-integer

2
推荐指数
1
解决办法
1939
查看次数

为什么控制转到 else 块进行此条件检查?

我想知道为什么它只执行else语句

代码如下:

#include<stdio.h>
int main()
{
    unsigned int a = 100;
    int b = -100;
    if(a > b)
    {
        print("Obviously 100 is Bigger than -100!\n");
    }
    else
        print("Something Unexpected has Happened\n");
}
Run Code Online (Sandbox Code Playgroud)

c unsigned-integer

2
推荐指数
1
解决办法
48
查看次数

如何有效地计算 24 位无符号整数中的前导零?

大多数clz()(软件实现)都针对 32 位无符号整数进行了优化

如何有效地计算 24 位无符号整数中的前导零?

UPD。目标的特点:

CHAR_BIT                 24
sizeof(int)              1
sizeof(long int)         2
sizeof(long long int)    3
Run Code Online (Sandbox Code Playgroud)

c counting unsigned-integer leading-zero

2
推荐指数
1
解决办法
1237
查看次数

无符号 int 文字越界

如果我定义该unsigned int类型的变量并使用其范围之外的值对其进行初始化,那么它会使用模并为自己分配一个在其范围内的值,对吧?

例如:

unsigned int a = 4294967298;
std::cout << a << std::endl;
Run Code Online (Sandbox Code Playgroud)

将打印2.

但是,如果不是这样,我写:

std::cout << 4294967298u << std::endl
Run Code Online (Sandbox Code Playgroud)

它打印4294967298而不打印2

这是为什么?

我认为我们在这两个例子中做了几乎相同的事情。

是因为在第二个示例中,默认情况下文字不是int, butlong或其他东西,并且我们unsigned long通过添加u作为后缀将其转换为?那么,我们如何将它用作unsigned int文字呢?

c++ unsigned literals unsigned-integer

2
推荐指数
1
解决办法
121
查看次数