- 1 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:01:16.091 ID:z8lSHXp8M
-
ある実態を持つ4バイトポインタ、*pのアドレスから、24バイトのアロケートを行った。
ポインタを3回動かしたあと、
short *q=(short *)p;
としたあと、q+=3をした後、qに対して、0x000000FFを書き込んだ。
この環境がリトルエンディアンだった場合、*p[1]に入る値を述べよ - 2 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:02:08.886 ID:h5pYQ9X+0
-
うんち!
- 3 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:02:11.816 ID:WS9saQfKd
-
リトルエンディアンて聞くたび子供のインディアンが浮かぶ
- 4 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:03:23.219 ID:z8lSHXp8M
-
おい、まさかお前らわからないなんてことはないよな?
- 6 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:07:51.940 ID:ugGO10cS0
-
これやるレベルって家電の基盤とか?
- 7 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:08:56.196 ID:GsIVmfMl0
-
>>6
今どきいない
マイコンも高級言語で書けるし - 8 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:09:56.738 ID:z8lSHXp8M
-
>>6
>>7
いや、普通にやるよね - 10 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:10:44.141 ID:GsIVmfMl0
-
>>8
そんなポインタの動かし方はしないだろ
ハグの温床だぞ - 9 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:10:42.065 ID:tqlQF3Op0
-
はたしてその実態はっ!?
- 11 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:12:53.204 ID:z8lSHXp8M
-
正解はでした
- 12 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:13:12.449 ID:z8lSHXp8M
-
正解は0でした!
- 13 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:15:13.901 ID:ppZF4l2C0
-
>リトルエンディアンだった場合
バス幅と86系か68系かで結果が変わるんだが条件の提示が雑すぎる
たぶんニワカの作った問題 - 16 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:23:46.599 ID:z8lSHXp8M
-
>>13
バス幅では変わりません
x86とx64でも変わりません
intというなら環境で変わるけど4バイトポインタとshortだからね? - 27 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:43:05.723 ID:ppZF4l2C0
-
>>16
68系すら知らないニワカがドヤてんじゃねーよ - 30 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:45:39.799 ID:z8lSHXp8M
-
>>27
68系CPUしってるからこそx64とx86出したんだけど?それとも8081はねってやればよかったのか?
やっても答えは、『同じ』だよバーカ - 32 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:47:08.332 ID:ppZF4l2C0
-
>>30
やっぱり知らねーじゃねーかバーカ
68はインテル系じゃねーよ知ったかぶり野郎 - 14 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:19:18.348 ID:tW1xrMPhH
-
ポインタを3回動かすってなんやねん
- 15 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:21:04.526 ID:z8lSHXp8M
-
char *cでいうと
pはc[0]
qはc[6]
0x000000ffをqに対して書き込むと
c[6]がFFで、7番目から00になる
で、1バイト足りないため、000000??になる。
リトルエンディアンでのアロケートという言葉は初期割当はゼロ。
既に割り当てられた領域を再利用する場合はアロケートじゃなくメモリ移動になるから00ゆえに
00000000になる。 - 17 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:24:25.107 ID:z8lSHXp8M
-
こういう無能しかいないのか?
- 18 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:24:29.630 ID:G6SEymNG0
-
shortって何bitか固定なん
- 20 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:27:40.595 ID:z8lSHXp8M
-
>>18
16ビット固定だよ
intは16から64まで変わる
longは32から64まで変わる - 19 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:27:17.775 ID:Nn2jocHZ0
-
量子コンピュータ研究者の俺からすると、国語でいうところの古文の問題に見えるな
- 21 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:28:49.866 ID:h5pYQ9X+0
-
情報系の試験もそうだけどなんでわざわざ文章で書くんだろ
- 22 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:32:58.116 ID:z8lSHXp8M
-
16ビットcpuのintは2バイトでshortと同じ
32ビットcpuのlongは4バイトでintと同じ
64ビットcpuのlongは64ビットだけどwow64によりwndowsはlong4バイトとなる
その代わり、linuxのlongと互換性を持たせるため、longlong型を用意したInt16 Int32みたいなのは、intって結局何バイトなのさ!ってのを表すために規約で後にバイト数を書くことになってる
gitをあさるとArrayに数値を入れた配列とかの定数をつけるコードがあるけど
あれはドットネットの規約ルールだから
- 23 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:33:54.930 ID:z8lSHXp8M
-
どやさ
- 24 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:33:57.551 ID:tW1xrMPhH
-
嘘つくなよ
shortは1byteで定義されてる場合もあるぞ - 26 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:36:57.004 ID:rTHAF+P90
-
>>24
まじか 1 byte もあるのか? - 25 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:35:58.713 ID:rTHAF+P90
-
short は int 以下なら何 byte でも良いんじゃなかったけ?
2 byte と 4 byte の処理系があったと思う。 - 29 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:44:23.805 ID:z8lSHXp8M
- 31 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:46:41.589 ID:G6SEymNG0
-
>>29
それは言語の仕様?コンパイラの仕様? - 33 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:50:18.270 ID:z8lSHXp8M
-
>>31
ANSIを知らないの? - 28 名前:一般よりも上級の名無しさん 投稿日時:2022/04/20(水) 20:44:21.648 ID:G6SEymNG0
-
仕様書のどこに書いてる?
コメント一覧