社区
Linux/Unix社区
帖子详情
大家看过这样写代码的吗?(size_t)-1
doubleword
2006-01-04 03:14:58
double v = ((double)size) * (int)(nmemb & (((size_t)-1) >> 1));
看过这样的用法的吗?
...全文
218
8
打赏
收藏
大家看过这样写代码的吗?(size_t)-1
double v = ((double)size) * (int)(nmemb & (((size_t)-1) >> 1)); 看过这样的用法的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fierygnu
2006-01-04
打赏
举报
回复
wohow()说的对。这样应用最终是为了得到unsigned int。
wohow
2006-01-04
打赏
举报
回复
可是~0是一个int,右移一位值不变,(size_t)-1是无符号的,右移一位值变了。可以用(size_t)~0,可是它和(size_t)-1相比看不出什么优势
doubleword
2006-01-04
打赏
举报
回复
刚才试了一下,~0编译器同样作优化.
看来这还是个人的写作习惯问题。
ouyh12345
2006-01-04
打赏
举报
回复
对于非符号数,用-1表示最大数是平常的
doubleword
2006-01-04
打赏
举报
回复
那我直接用~0不就可以了,何必这么费劲呢,不过不知道~0会不会直接通过编译器算出来。
wohow
2006-01-04
打赏
举报
回复
而且编译器一般会用2147483647去替换(size_t)-1>>1,即在编译时就简化表达式
wohow
2006-01-04
打赏
举报
回复
这样写法没什么不好啊。如果写0xFFFFFFFF又不直观又容易错
fierygnu
2006-01-04
打赏
举报
回复
有。(size_t)-1相当于位全为1的int。如果是16位机,相当于0xFFFF;32位机,相当于0xFFFFFFFF;
0行
代码
写
服务部署版
不需要开发,0行
代码
写
接口服务,sql编程,只要会sql就会
写
接口服务,让后端变得更简单,简单4步短短5分钟,立马上手,java小白也可以
写
接口。 订阅课程后可以免费获取发布版进行使用和测试。 0行
代码
写
服务...
c++z中
size
_t和int
size
_t 是无符号的整型,int 是 有符号的整型。 1.关于
size
_t的定义
size
_t是一种数据相关的无符号类型,它被设计得足够大以便能够内存中任意对象的大小。 在cstddef头文件中定义了
size
_t类型,这个文件是C标准库stddef.h头文件的C++版本。 关于百度百科:
size
_t概述:
size
_t 类型定义在cstddef...
size
_t为何这么重要?
原文Why
size
_t matters
你
写
过最愚蠢的
代码
是?
最近
写
的一些
代码
,拿出来给大伙看看,毕竟丢的是我的脸。第一个,是帮忙一个朋友看的力扣题目,然后就自己
写
了下题目如下:https://leetcode.cn/problems/median-of-two-sorted-arrays/
代码
写
成这样void merge(int* nums1, int m, int* nums2, int n){ int p = m-- + n-- -1; ...
再论FreeRTOS中的configTOTAL_HEAP_
SIZE
关于任务栈和系统栈的基础知识,可以参考之前的随笔。(点击这里) 这里再次说明:#define configTOTAL_HEAP_
SIZE
( (
size
_t ) ( 17 * 1024 ) ) 这个宏,官方文档解释: FreeRTOS堆中可用的RAM总量。 只有在configSUPPORT_DYNAMIC_ALLOCATION设置为1并且应用程序使用FreeRTOS源
代码
下载中提供的一个示例...
Linux/Unix社区
23,116
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章