将代表前缀遮罩的 IPv6 地址转换成整数的 C 代码是什么 。
For example, this IPv6 address prefix mask: FFFF:FFFF:FFFF:FFFF:0000:0000:0000:0000
would be converted to 64
谢谢 谢谢
需要改变它 从袜子六六改成一整
将代表前缀遮罩的 IPv6 地址转换成整数的 C 代码是什么 。
For example, this IPv6 address prefix mask: FFFF:FFFF:FFFF:FFFF:0000:0000:0000:0000
would be converted to 64
谢谢 谢谢
需要改变它 从袜子六六改成一整
我的方法与Zan s有关,但是要应付以下事实: struct in6_addr
,它包含在 struct socaddr_in6
中,基本上是由16个字符组成的阵列。
因此,在找到值!= 0xFF
之前,您应该对字节进行循环。
int bits = 0;
struct in6_addr * addr = &((struct sockaddr_in6 *)ai_addr)->sin6_addr;
for (i=0; i<16; i++) {
if (addr->s6_addr[i] == xFF ) {
bits += 8;
} else {
case (addr->s6_addr[i]) {
xFE : bits += 7; break;
xFC : bits += 6; break;
xF8 : bits += 5; break;
xF0 : bits += 4; break;
xE0 : bits += 3; break;
xC0 : bits += 2; break;
x80 : bits += 1; break;
x00 : bits += 0; break;
default: complain();
}
break;
}
}
但如Zan所写, 最好保留您已有的数字, 如果您需要的话, 最好保留您已有的数字来生成面具, 而不是相反 。
@SamuelChampagne:真的:你真的应该接受工作上的答案!有一天,人们会拒绝帮助你。
找到位数的最佳方法是永远不要忘记它们。 因为 IPv6 要求按地址/ 位数方法指定位元, 记录比特并保存它 。
如果您不这样做, 那么这是一个点数问题 。 因为位数必须是起始点, 我将尝试通过一次检查 Word- Size 位数来接近它。 Word- Size 位数可能为 32 或 64 。 当它不再等于 < code>- 1UL code > 时, 当它不再等于 < code >- 1UL < / code > 时, 然后检查半字大小、 四分之一字大小和 1 字节。 使用 256 项查找最后一个字节的表格 。
可能有些非常酷的手推方法可以很快完成这项工作。你必须自己去查一查。
For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...
最好、最小、最快、开放的来源、C/C++ 3d 提供方(在3ds max模型的支持下),而不是通用公平市价,
Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...
I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...
I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...
I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...
Is there anything other than DDD that will draw diagrams of my data structures like DDD does that runs on Linux? ddd is okay and runs, just kind of has an old klunky feeling to it, just wanted to ...
Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...