avatar
请问EA的胶囊# Fashion - 美丽时尚
j*2
1
书上答案的bit vector是(366页line1)
byte[] bitfield=new byte [0xFFFFFFF/8];(7个F)
是不是不太对?
integer range是2^32,需要的byte数是0x100000000/8(8个0),何故是0xFFFFFFF/8?
而且是不是该考虑负数,把所有整数先(unsigned)再放进bitfield?
avatar
J*R
2
打算买个EA胶囊
发现官网价格要比costco,amazon要贵,而且品种居然比后面两个少,特别是amazon品
种十分繁多(各种包装的)
请问jm们,那些官网上没有的胶囊都是正品么?后面两个网站信得过么?
avatar
l*r
3
0xFFFFFFF是最大可能的signed整数,0xFFFFFFF/8个byte就足够了。

8?

【在 j******2 的大作中提到】
: 书上答案的bit vector是(366页line1)
: byte[] bitfield=new byte [0xFFFFFFF/8];(7个F)
: 是不是不太对?
: integer range是2^32,需要的byte数是0x100000000/8(8个0),何故是0xFFFFFFF/8?
: 而且是不是该考虑负数,把所有整数先(unsigned)再放进bitfield?

avatar
j*2
4
难道不是
0xFFFFFFF=268435455
INT_MAX=2147483647=0x7FFFFFFF?
还是我哪儿搞错了?

【在 l*****r 的大作中提到】
: 0xFFFFFFF是最大可能的signed整数,0xFFFFFFF/8个byte就足够了。
:
: 8?

avatar
a*y
5
You have to multiply INT_MAX*2, range is INT_MAX-INT_MIN +1
avatar
j*2
6
INT_MAX-INT_MIN+1不就是0x100000000吗?

【在 a*******y 的大作中提到】
: You have to multiply INT_MAX*2, range is INT_MAX-INT_MIN +1
avatar
l*r
7
看了原题,应该是8个F.没有signed的问题,就算有也是0x7FFFFFFF

【在 j******2 的大作中提到】
: 难道不是
: 0xFFFFFFF=268435455
: INT_MAX=2147483647=0x7FFFFFFF?
: 还是我哪儿搞错了?

avatar
j*2
8
为什么没有signed的问题?
P.366 L10
bitfield[n/8]|=1<在n<0时就会出错(n是从文件读进的int)
how about this:
void print_missing_one_pass(char *file_name)
{
ifstream infile(file_name);
assert(infile);
int size=0x20000000;
char *flag=new char[size];
memset(flag, 0, size);
int i;
while (infile >> i)
{
int byte=(unsigned)i>>3;
int bit=i&7;
flag[byte]|=1<}

for (unsigned k=0; k{
char t=flag[k];
if (t!='\xff')
{
for (int j=0; j<8; j--)
{
if (!(t&1<{
int x=k<<3+j;
cout<delete [] flag;
return;
}
}
}
}

cout<delete [] flag;
return;
}

【在 l*****r 的大作中提到】
: 看了原题,应该是8个F.没有signed的问题,就算有也是0x7FFFFFFF
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。