相关疑难解决方法(0)

何时使用无符号值而不是有符号值?

何时在签名变量上使用无符号变量是否合适?怎么样在一个for循环?

我听到很多关于此的意见,我想看看是否有任何类似的共识.

for (unsigned int i = 0; i < someThing.length(); i++) {  
    SomeThing var = someThing.at(i);  
    // You get the idea.  
}
Run Code Online (Sandbox Code Playgroud)

我知道Java没有无符号值,这一定是Sun Microsystems的一个有说服力的决定.

language-agnostic types

78
推荐指数
5
解决办法
2万
查看次数

你是否总是对C中的数字使用'int',即使它们是非负数?

我总是使用unsigned int来表示永远不应该是负数的值.但是今天我在代码中发现了这种情况:

void CreateRequestHeader( unsigned bitsAvailable, unsigned mandatoryDataSize, 
    unsigned optionalDataSize )
{
    If ( bitsAvailable – mandatoryDataSize >= optionalDataSize ) {
        // Optional data fits, so add it to the header.
    }

    // BUG! The above includes the optional part even if
    // mandatoryDataSize > bitsAvailable.
}
Run Code Online (Sandbox Code Playgroud)

我应该开始使用int而不是unsigned int来表示数字,即使它们不能为负数吗?

c coding-style

46
推荐指数
8
解决办法
1万
查看次数

默认int类型:签名还是未签名?

当用类C语言编程时,一个人的"默认"整数类型是int还是uint/unsigned int?默认情况下,我的意思是当你不需要负数时,但任何一个都应该足够大,足以容纳你所持有的数据.我可以为两者考虑好的论点:

签名:数学上表现更好,如果你试图在一些你没想到的边界情况下低于零,那么奇怪行为的可能性就会降低,通常可以更好地避免奇怪的角落情况.

unsigned:为溢出提供一点额外的保证,以防你对值的假设是错误的.作为文档,变量表示的值永远不应为负数.

language-agnostic coding-style

18
推荐指数
2
解决办法
2万
查看次数

标签 统计

coding-style ×2

language-agnostic ×2

c ×1

types ×1