エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.100【環境依存OK】
http://mevius.2ch.net/test/read.cgi/tech/1478440682/
【初心者歓迎】C/C++室 Ver.101【環境依存OK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/07/18(火) 07:07:27.20ID:vzMDiUgd
202デフォルトの名無しさん
2017/07/31(月) 00:05:24.36ID:rlOfWFsH int ⇔ unsigned intだからそれ程でもないけど
たかが型変換と思って単純そうに見えて実は深い
たかが型変換と思って単純そうに見えて実は深い
203デフォルトの名無しさん
2017/07/31(月) 04:51:20.26ID:eXoHYgix もしかしてunsigned int a = -10が10だと思ってるじゃ
204デフォルトの名無しさん
2017/07/31(月) 07:41:44.42ID:2pZH8HVB >>184
ごめんアンカミスだ
ごめんアンカミスだ
205デフォルトの名無しさん
2017/07/31(月) 08:13:27.51ID:QJrBCtHy unsigned intとintの変換って戻る保証あったっけ?
教えてエロい人
教えてエロい人
206デフォルトの名無しさん
2017/07/31(月) 09:37:11.53ID:8MdXXwK/ ない
207デフォルトの名無しさん
2017/07/31(月) 10:27:16.23ID:b0IxVlKH そうなの?
補数表現が違うと戻らなくなるんだっけ?
補数表現が違うと戻らなくなるんだっけ?
208デフォルトの名無しさん
2017/07/31(月) 12:46:28.35ID:oDbItPw6 いつもの
・現実にはダメな処理系はない
けど
・仕様では保証されない
って奴じゃね?
・現実にはダメな処理系はない
けど
・仕様では保証されない
って奴じゃね?
209デフォルトの名無しさん
2017/07/31(月) 17:41:18.97ID:ULiYNE/a この速さなら言える
unsigned intが分からない
少なくともunsignedの-10が10じゃないことは分かった
unsigned intが分からない
少なくともunsignedの-10が10じゃないことは分かった
210デフォルトの名無しさん
2017/07/31(月) 17:52:47.90ID:4+hbusvk 俺もunsignedに負数を代入した場合
どーなるのかわかってなかったわ
つーか、そんな処理入れる機会なくね?
わざわざバグったコード書いて
どうなるんですかって聞いているようなもん
どーなるのかわかってなかったわ
つーか、そんな処理入れる機会なくね?
わざわざバグったコード書いて
どうなるんですかって聞いているようなもん
211片山博文MZ ◆T6xkBnTXz7B0
2017/07/31(月) 18:12:00.47ID:tXq0mJzu intが32ビットの整数と仮定すると、
-1==0xFFFFFFFF。
これに1を足すと、オーバーフローして
0==0x00000000
となる。
-2は-1==0xFFFFFFFFよりも1だけ小さいので0xFFFFFFFEだ。
-1==0xFFFFFFFF。
これに1を足すと、オーバーフローして
0==0x00000000
となる。
-2は-1==0xFFFFFFFFよりも1だけ小さいので0xFFFFFFFEだ。
212デフォルトの名無しさん
2017/07/31(月) 18:19:04.62ID:RCGkVO1K 処理系依存な内容とそうじゃない内容はちゃんと区別しよう
213デフォルトの名無しさん
2017/07/31(月) 18:23:58.10ID:2pZH8HVB >>209,210
仮にこの範囲の整数を扱える型(X型)があったとすると
-4 -3 -2 -1 0 1 2 3 4
unsigned X型はこの範囲を扱える
0 1 2 3 4 5 6 7 8
X型の-1は-1
unsigned X型の-1は8になる
同じ数だけ(この場合9つ)表現できるのは変わらず
unsignedは最小値が0になる
仮にこの範囲の整数を扱える型(X型)があったとすると
-4 -3 -2 -1 0 1 2 3 4
unsigned X型はこの範囲を扱える
0 1 2 3 4 5 6 7 8
X型の-1は-1
unsigned X型の-1は8になる
同じ数だけ(この場合9つ)表現できるのは変わらず
unsignedは最小値が0になる
214片山博文MZ ◆T6xkBnTXz7B0
2017/07/31(月) 19:07:02.18ID:tXq0mJzu 符号つき(signed)の値の場合、一番上のビット(最上位ビット)を符号として扱う。そういう決まりになっている。
例えば、0x80000000は一番小さい符号つき32ビット整数になり、0x7FFFFFFFは符号つき32ビット整数で一番大きな数になる。
例えば、0x80000000は一番小さい符号つき32ビット整数になり、0x7FFFFFFFは符号つき32ビット整数で一番大きな数になる。
215デフォルトの名無しさん
2017/07/31(月) 19:16:13.46ID:ULiYNE/a こんなに一生懸命説明してくれてるのにわからない俺…
すんませんした
すんませんした
216デフォルトの名無しさん
2017/07/31(月) 19:18:53.66ID:aK6EDhQb217片山博文MZ ◆T6xkBnTXz7B0
2017/07/31(月) 19:18:53.77ID:tXq0mJzu -30は、-1==0xFFFFFFFFよりも29だけ小さい数だ。29==16+8+4+1==0x1Dだから、-30==0xFFFFFFFF - 0x1D==0xFFFFFFE2となる。
218デフォルトの名無しさん
2017/07/31(月) 19:19:50.58ID:9Hgupd7z 意外とハマるのはサイズが拡張される場合で
char ch1 = 0xFF;
unsigned char ch2 = 0xFF;
unsigned int int1 = ch1;
unsigned int int2 = ch2;
int1 と int2 は違った値になりよるよ
VCの処理系依存かもしれんが
char ch1 = 0xFF;
unsigned char ch2 = 0xFF;
unsigned int int1 = ch1;
unsigned int int2 = ch2;
int1 と int2 は違った値になりよるよ
VCの処理系依存かもしれんが
219デフォルトの名無しさん
2017/07/31(月) 19:21:38.34ID:aK6EDhQb 1の補数、2の補数、符号ビット+仮数
言語上はこれだけある
トラップ表現があったりもする
言語上はこれだけある
トラップ表現があったりもする
220片山博文MZ ◆T6xkBnTXz7B0
2017/07/31(月) 19:37:10.30ID:tXq0mJzu 自動車やバイクには走行メーターがついているだろう。走行メーターは0〜9の何桁でどのくらい走ったかを表す。
9999の次が0000になる場合、9999を-1、9998を-2、と考えるとメーターで足し算・引き算を考えることができる。各桁が0〜9になるから、メーターの場合は10進数表示になるがね、
コンピュータの場合は2進数や、16進数で考えることが多い。
9999の次が0000になる場合、9999を-1、9998を-2、と考えるとメーターで足し算・引き算を考えることができる。各桁が0〜9になるから、メーターの場合は10進数表示になるがね、
コンピュータの場合は2進数や、16進数で考えることが多い。
221片山博文MZ ◆T6xkBnTXz7B0
2017/07/31(月) 19:41:04.34ID:tXq0mJzu 2進数の場合は各桁が0か1になり、2で次の位に繰り上げ。16進数の場合は各桁が0〜9、A〜Fのいずれかになり、16で次の位に繰り上げ。
222デフォルトの名無しさん
2017/07/31(月) 19:49:09.33ID:aK6EDhQb いつまで機種依存ネタ続けるつもり?
223デフォルトの名無しさん
2017/07/31(月) 20:01:22.25ID:iTQXcHuD224デフォルトの名無しさん
2017/07/31(月) 20:05:38.00ID:9Hgupd7z だからさわるなって
226デフォルトの名無しさん
2017/07/31(月) 21:44:09.51ID:zfEccCnj auto i = -100;
auto u = static_cast<unsigned>(i);
int i2;
std::memcpy(&i2, &u, sizeof(int));
unsigned intを経由してintを取り出す方法はこれしか思いつかなかった
auto u = static_cast<unsigned>(i);
int i2;
std::memcpy(&i2, &u, sizeof(int));
unsigned intを経由してintを取り出す方法はこれしか思いつかなかった
227デフォルトの名無しさん
2017/07/31(月) 22:53:45.79ID:SkB3nQWo 触るも何も自演だから嵐が過ぎ去るのを黙って見てるしかないぞ
228片山博文MZ ◆T6xkBnTXz7B0
2017/07/31(月) 23:31:24.17ID:tXq0mJzu 仮想世界の住人たちが全て同一人物の自演に見える病気に名前を付けるとしたら、何にする?
229片山博文MZ ◆T6xkBnTXz7B0
2017/07/31(月) 23:37:22.96ID:tXq0mJzu 「思念体同一視妄想」と名付けよう。
230はちみつ餃子 ◆8X2XSCHEME
2017/08/01(火) 00:01:32.28ID:J7NYj7Ga 思念体が滅びることはない……
死ねんたいwww
死ねんたいwww
231デフォルトの名無しさん
2017/08/01(火) 02:44:00.93ID:LRNcLEwd なるほど・・さっぱりわからん
232片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 21:04:49.74ID:iBC54dHR わからない
わからん
若卵
らんらんるー
わからん
若卵
らんらんるー
233デフォルトの名無しさん
2017/08/01(火) 21:55:28.88ID:J7NYj7Ga わかんない → 和姦ない → 強姦ばかり
234片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 22:00:50.36ID:iBC54dHR だじゃれモードかよ
235片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 22:05:37.08ID:iBC54dHR 2進数を下の位から4桁ごと区切ると、簡単に16進数に直せるぞ。
2の4乗は16だから、2進数の4桁が16進数の1桁に相当する。
2の4乗は16だから、2進数の4桁が16進数の1桁に相当する。
236片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 22:12:21.56ID:iBC54dHR #include <stdio.h>
int main(void) {
int i;
printf("10進数と16進数\n");
for (i = 0; i < 30; ++i) {
printf("%d => 0x%x\n", i, i);
}
return 0;
}
int main(void) {
int i;
printf("10進数と16進数\n");
for (i = 0; i < 30; ++i) {
printf("%d => 0x%x\n", i, i);
}
return 0;
}
237片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 22:15:21.90ID:iBC54dHR C/C++では、2進数出力は少し難しい。ビット演算が必要になる。
238片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 22:20:52.25ID:iBC54dHR void print_binary(int n) {
int i;
for (i = sizeof(int) * 8 - 1; i >= 0; --i) {
if (n & (1 << i)) putchar('1');
else putchar('0');
}
}
int i;
for (i = sizeof(int) * 8 - 1; i >= 0; --i) {
if (n & (1 << i)) putchar('1');
else putchar('0');
}
}
239片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 22:55:18.84ID:Oo5iWDLT #include <stdio.h>
int main(void) {
int i;
printf("符号あり => 符号なし => 16進\n");
for (i = -10; i <= 10; ++i) {
printf("%d => %u => 0x%x\n");
}
return 0;
}
int main(void) {
int i;
printf("符号あり => 符号なし => 16進\n");
for (i = -10; i <= 10; ++i) {
printf("%d => %u => 0x%x\n");
}
return 0;
}
240片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 22:56:59.82ID:Oo5iWDLT >>239
訂正。
#include <stdio.h>
int main(void) {
int i;
printf("符号あり => 符号なし => 16進\n");
for (i = -10; i <= 10; ++i) {
printf("%d => %u => 0x%x\n", i, i, i); //訂正。
}
return 0;
}
訂正。
#include <stdio.h>
int main(void) {
int i;
printf("符号あり => 符号なし => 16進\n");
for (i = -10; i <= 10; ++i) {
printf("%d => %u => 0x%x\n", i, i, i); //訂正。
}
return 0;
}
241デフォルトの名無しさん
2017/08/01(火) 23:06:29.76ID:mGfRGHrE >>240
%u に int 渡してんじゃねーよ
%u に int 渡してんじゃねーよ
242片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 23:19:17.88ID:Oo5iWDLT243片山博文MZ ◆T6xkBnTXz7B0
2017/08/01(火) 23:26:14.17ID:Oo5iWDLT244デフォルトの名無しさん
2017/08/02(水) 00:27:59.29ID:AGgV01p7246デフォルトの名無しさん
2017/08/02(水) 17:58:47.10ID:denJnq0F ぞいってなー
247デフォルトの名無しさん
2017/08/02(水) 22:14:43.24ID:TeM237FQ class CManiac {
private: char* m_pc;
public:
virtual ~CManiac() {
cout<<"destr "<< this << " : " << &m_pc << endl;
delete[] m_pc;
}
CManiac() : m_pc(new char[1]) { cout<<"constr "<< this <<endl;}
void getAdrs(){ cout<< this <<" : "<< &m_pc << endl; }
};
int main() {
vector<CManiac> vecmaniac;
vecmaniac.resize(3);
vecmaniac[0].getAdrs();
vecmaniac[1].getAdrs();
vecmaniac[2].getAdrs();
return 0;
}
constr 0x22fe40
destr 0x22fe40 : 0x22fe44
0x3b1678 : 0x3b167c
0x3b1680 : 0x3b1684
0x3b1688 : 0x3b168c
destr 0x3b1678 : 0x3b167c
destr 0x3b1680 : 0x3b1684
destr 0x3b1688 : 0x3b168c
vectorに自作クラスのインスタンスを入れるとき、このコードだとm_pc;が指すアドレスが2重開放になるとかで
デフォルトコンストラクタとコピーコンストラクタとデストラクタの3つが必須だと書いてあったのですが、エラー無しで出力できます。
デストラクタのところで<<m_pc;と書いても、何故か文字化けしてしまうのでアドレスが分からないんですが
本来、resizeを使ってインスタンスを生成したら、m_pc(new char[1])で作った領域は3つとも同じになるということですか?
あと、最初に呼び出されている0x22fe40 は何のインスタンスなんですか?回答宜しくお願いします。
private: char* m_pc;
public:
virtual ~CManiac() {
cout<<"destr "<< this << " : " << &m_pc << endl;
delete[] m_pc;
}
CManiac() : m_pc(new char[1]) { cout<<"constr "<< this <<endl;}
void getAdrs(){ cout<< this <<" : "<< &m_pc << endl; }
};
int main() {
vector<CManiac> vecmaniac;
vecmaniac.resize(3);
vecmaniac[0].getAdrs();
vecmaniac[1].getAdrs();
vecmaniac[2].getAdrs();
return 0;
}
constr 0x22fe40
destr 0x22fe40 : 0x22fe44
0x3b1678 : 0x3b167c
0x3b1680 : 0x3b1684
0x3b1688 : 0x3b168c
destr 0x3b1678 : 0x3b167c
destr 0x3b1680 : 0x3b1684
destr 0x3b1688 : 0x3b168c
vectorに自作クラスのインスタンスを入れるとき、このコードだとm_pc;が指すアドレスが2重開放になるとかで
デフォルトコンストラクタとコピーコンストラクタとデストラクタの3つが必須だと書いてあったのですが、エラー無しで出力できます。
デストラクタのところで<<m_pc;と書いても、何故か文字化けしてしまうのでアドレスが分からないんですが
本来、resizeを使ってインスタンスを生成したら、m_pc(new char[1])で作った領域は3つとも同じになるということですか?
あと、最初に呼び出されている0x22fe40 は何のインスタンスなんですか?回答宜しくお願いします。
248片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 22:27:48.20ID:tJX9Zx+g new char[1]は、要素数1の動的配列へのポインターで、中身は初期化されていない。
249片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 22:33:06.29ID:tJX9Zx+g << m_pcと書くと、当然m_pcは、C文字列として解釈されるが、初期化されておらず、ヌル終端とは限らないので、
文字化けする。
文字化けする。
250片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 22:35:13.01ID:tJX9Zx+g 教訓。生ポインターは使うな。std::stringやstd::vectorなどを使え。
251片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 22:46:24.97ID:tJX9Zx+g resizeは、引数なしのコンストラクターでオブジェクトを作成して、それをvector内部にコピーする。
このコピーの際にコピーコンストラクターが使われる。コピーコンストラクターは記述されていないから、暗黙のものが使われる。
それはポインターの中身をコピーしていないから、問題がある。
このコピーの際にコピーコンストラクターが使われる。コピーコンストラクターは記述されていないから、暗黙のものが使われる。
それはポインターの中身をコピーしていないから、問題がある。
252片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 22:57:09.01ID:tJX9Zx+g よくわからなければ、
CManiac(const CManiac& cm)
{ ... }
というコピーコンストラクターを書き加えてみるとよい。
CManiac(const CManiac& cm)
{ ... }
というコピーコンストラクターを書き加えてみるとよい。
253片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 22:59:09.90ID:tJX9Zx+g 代入の
CManiac& operater=(const CManiac& cm)
{
...
return *this;
}
も追加。
CManiac& operater=(const CManiac& cm)
{
...
return *this;
}
も追加。
254デフォルトの名無しさん
2017/08/02(水) 23:05:54.19ID:qrhQzK+m unsigned intなどを使って何かいい事有るのか?普通にint使えばいいだろ?
255片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 23:06:30.72ID:tJX9Zx+g IDEのデバッグ機能を使えば、std::vector::resizeなどのソースコードも読めるよ。
257デフォルトの名無しさん
2017/08/02(水) 23:10:24.82ID:qU91jTb3 >new char[1]は、要素数1の動的配列へのポインター
んなこたーない
んなこたーない
258片山博文MZ ◆T6xkBnTXz7B0
2017/08/02(水) 23:11:05.31ID:tJX9Zx+g 符号ありよりも大きな範囲を扱える。ビット演算やビットフィールドで便利。
259デフォルトの名無しさん
2017/08/02(水) 23:44:31.73ID:qU91jTb3 この実行結果を見て>>251の回答が瞬時に出てくるのはひょっとして凄い奴なのではないか?
と一瞬でも思ってしまった自分が恥ずかしい
と一瞬でも思ってしまった自分が恥ずかしい
260デフォルトの名無しさん
2017/08/02(水) 23:59:09.86ID:qU91jTb3 ライブラリ仕様の変遷を理解した上で質問者に回答を合わせる
などという高度な対応がクソコテにできる筈も無かった
などという高度な対応がクソコテにできる筈も無かった
261デフォルトの名無しさん
2017/08/03(木) 00:21:51.89ID:1LfxTpLV >符号ありよりも大きな範囲を扱える
確かにそうだな
言語仕様の規格上は
確かにそうだな
言語仕様の規格上は
263片山博文MZ ◆T6xkBnTXz7B0
2017/08/03(木) 00:44:37.38ID:YO3k3fE8 >>262
あ、コピーコンストラクターは、C++03の方で、C++11なら、ムーブコンストラクターとムーブ代入が使えるから、少し動作が違うんだった。
あ、コピーコンストラクターは、C++03の方で、C++11なら、ムーブコンストラクターとムーブ代入が使えるから、少し動作が違うんだった。
264ねこまじ
2017/08/03(木) 00:45:34.22ID:t0J1S2SM Youtuberヒカルが月収を明らかに!!おはよう朝日です出演
https://www.youtube.com/watch?v=RLZGrqQnnZc
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ
最高月収5000万円だとさ。年収じゃなくて「月収」な
誰でも参入可能だからおまえらもyoutubeに動画投稿したほうがいい
顔出したくないならラファエルみたいに仮面かぶればいい
手っ取り早く視聴数稼ぐには有名ユーチューバーへの物申す系動画がオススメ
ゲーム実況はニッチだから人気ユーチューバーのネタをパクればいい
https://www.youtube.com/watch?v=RLZGrqQnnZc
第1回案件王ランキング!YouTuberで1番稼いでるのは誰だ!
https://www.youtube.com/watch?v=asF2wQ2xhjY&t=61s
ユーチューバーの儲けのカラクリを徹底検証!
https://www.youtube.com/watch?v=FUSb4erJSXE&t=504s
【給料公開】チャンネル登録者4万人突破記念!YouTuberの月収公開!
https://www.youtube.com/watch?v=Y7DAQ0RKilM&t=326s
誰も言わないなら俺がYouTuberのギャラ相場を教えます
https://www.youtube.com/watch?v=E4q-vaQh2EQ&t=118s
YouTuberになりたいのは馬鹿じゃない!YouTuberになる方法
https://www.youtube.com/watch?v=Fr0WXXZRMSQ
最高月収5000万円だとさ。年収じゃなくて「月収」な
誰でも参入可能だからおまえらもyoutubeに動画投稿したほうがいい
顔出したくないならラファエルみたいに仮面かぶればいい
手っ取り早く視聴数稼ぐには有名ユーチューバーへの物申す系動画がオススメ
ゲーム実況はニッチだから人気ユーチューバーのネタをパクればいい
265片山博文MZ ◆T6xkBnTXz7B0
2017/08/03(木) 00:48:11.43ID:YO3k3fE8 ってことは、C++11の場合は、
CManiac(CManiac&& cm)
{ ... }
と
CManiac& operater=(CManiac&& cm)
{
...
return *this;
}
を書くんだね。これで完璧。
CManiac(CManiac&& cm)
{ ... }
と
CManiac& operater=(CManiac&& cm)
{
...
return *this;
}
を書くんだね。これで完璧。
266デフォルトの名無しさん
2017/08/03(木) 00:48:42.44ID:cUZMqwjs >>257
違うの?
違うの?
267デフォルトの名無しさん
2017/08/03(木) 01:02:12.67ID:cUZMqwjs あ、動的配列じゃなくてヒープのアドレスとってるだけよということかな
268片山博文MZ ◆T6xkBnTXz7B0
2017/08/03(木) 01:02:16.06ID:YO3k3fE8 C++11のemplace_backを忘れてた。コピーせずに、vector内部で直接構築されるんだった。
269デフォルトの名無しさん
2017/08/03(木) 07:14:24.41ID:jHHnzd5n270デフォルトの名無しさん
2017/08/03(木) 13:14:53.27ID:vWCSRcUD271デフォルトの名無しさん
2017/08/03(木) 14:40:42.21ID:xqHGpC9q ふえぇぼうよー先生の本凄く読みずらいよ・・・
272デフォルトの名無しさん
2017/08/03(木) 16:53:01.55ID:2WeFShGG273デフォルトの名無しさん
2017/08/03(木) 16:58:53.44ID:2WeFShGG 何もしないってのは吐き出されるコードが不変て意味ね
個人的にはキャストするけど
個人的にはキャストするけど
274デフォルトの名無しさん
2017/08/03(木) 20:14:02.94ID:Wy5AX0em intが32bitな64bit環境下だとして
printfの可変長引数で32bit整数を64bitに自動拡張するときの
拡張のされ方が変わるんじゃね?
ただし%uによって32bit分しか見に行かないから無視してよいけど
コード不変とはならないんじゃね?
printfの可変長引数で32bit整数を64bitに自動拡張するときの
拡張のされ方が変わるんじゃね?
ただし%uによって32bit分しか見に行かないから無視してよいけど
コード不変とはならないんじゃね?
275デフォルトの名無しさん
2017/08/03(木) 20:21:13.08ID:D1Re6UdQ %z と %d の差ですかい?
276デフォルトの名無しさん
2017/08/03(木) 20:24:42.71ID:Wy5AX0em いや、64bitに自動拡張してスタックに積む際に
277デフォルトの名無しさん
2017/08/03(木) 20:28:36.06ID:D1Re6UdQ int が32bit なら 可変長引数部でスタックに詰むとき
暗黙で 64bit に自動拡張はやらんのじゃないの?
暗黙で 64bit に自動拡張はやらんのじゃないの?
278デフォルトの名無しさん
2017/08/03(木) 21:31:57.89ID:2WeFShGG やったら破綻する
279デフォルトの名無しさん
2017/08/03(木) 22:25:13.00ID:2WeFShGG 嘘ですサーセン
280デフォルトの名無しさん
2017/08/03(木) 22:54:52.47ID:84Bc5dj3 >>273
そんな保証はないよ
そんな保証はないよ
281デフォルトの名無しさん
2017/08/03(木) 23:29:16.77ID:2WeFShGG 保証は無いね
x64の場合でもキャストしようがしまいが0拡張になるけど
差が出るとしたらどんな場合?
x64の場合でもキャストしようがしまいが0拡張になるけど
差が出るとしたらどんな場合?
282デフォルトの名無しさん
2017/08/03(木) 23:48:26.53ID:Wy5AX0em 常に0拡張は信じがたい
負数の時おかしくなるだろ・・・
負数の時おかしくなるだろ・・・
283デフォルトの名無しさん
2017/08/03(木) 23:49:27.73ID:2WeFShGG intが32bitの処理系の話ね
32bitのintを64bitに符号拡張するのはダメでしょ
32bitのintを64bitに符号拡張するのはダメでしょ
284デフォルトの名無しさん
2017/08/04(金) 07:09:12.01ID:KzbqP8qx285デフォルトの名無しさん
2017/08/04(金) 08:30:27.75ID:oD3njs5y 64bit で引き出したうえで 32bit しか採用しないのか
32bit で引き出すだけなのか
後者は2個目いこう狂うわけ
32bit で引き出すだけなのか
後者は2個目いこう狂うわけ
286デフォルトの名無しさん
2017/08/04(金) 08:46:19.49ID:SS0ANIEQ 64bitに自動拡張してスタックって、x64はpush eaxしたら8バイトpushされんの?
287デフォルトの名無しさん
2017/08/04(金) 08:47:48.89ID:Q7buFUOM 8、16でも前者でしょ
288デフォルトの名無しさん
2017/08/04(金) 08:48:26.38ID:Q7buFUOM push raxになる
289デフォルトの名無しさん
2017/08/04(金) 08:53:09.50ID:Q7buFUOM というわけでビッグエンディアンは糞である
290デフォルトの名無しさん
2017/08/04(金) 09:16:15.84ID:SS0ANIEQ int32にしてもスタックやキャッシュは倍の速度で消費されるのかよ。
291デフォルトの名無しさん
2017/08/04(金) 09:27:05.86ID:Q7buFUOM キャッシュは確認してないけど
スタックはポインタ幅で消費されるね
スタックはポインタ幅で消費されるね
292デフォルトの名無しさん
2017/08/04(金) 09:31:06.85ID:Q7buFUOM 実装依存だとは思う
VisualStudioではそうだっつーだけ
VisualStudioではそうだっつーだけ
293デフォルトの名無しさん
2017/08/04(金) 12:56:51.39ID:+PWQy8Ni 実装依存じゃない
x86-64の仕様
x86-64の仕様
294デフォルトの名無しさん
2017/08/04(金) 12:57:32.28ID:+PWQy8Ni 普通、引数の受け渡しはスタックじゃなくてレジスタ使うけど
295デフォルトの名無しさん
2017/08/04(金) 13:15:35.79ID:SS0ANIEQ 呼出規約については知らないのか。
296デフォルトの名無しさん
2017/08/04(金) 14:31:21.93ID:PHBV9/TP 呼び出し規約は実装依存ではないけどアーキテクチャ依存でもないよ
そして、引数の受け渡しにレジスタをどう使うかというのは呼び出し規約と関係なく実装依存
さらに、引数はスタックに積まれるし、それはレジスタどうのこうのとは関係のない話
そして、引数の受け渡しにレジスタをどう使うかというのは呼び出し規約と関係なく実装依存
さらに、引数はスタックに積まれるし、それはレジスタどうのこうのとは関係のない話
297デフォルトの名無しさん
2017/08/04(金) 14:49:43.29ID:SS0ANIEQ 何を言ってるかさっぱり意味が分らないや。
298デフォルトの名無しさん
2017/08/04(金) 14:56:40.96ID:oD3njs5y 引数を { 頭から 末尾から } { レジスタ スタック } につんで
つんだ引数の巻き戻しを { 呼び出し側 呼ばれた側 } で行う
つんだ引数の巻き戻しを { 呼び出し側 呼ばれた側 } で行う
299デフォルトの名無しさん
2017/08/04(金) 18:15:41.13ID:fFEm/UGM >>296
呼び出し規約がアーキテクチャーに依存しないなんてことはあり得ない
呼び出し規約がアーキテクチャーに依存しないなんてことはあり得ない
300デフォルトの名無しさん
2017/08/04(金) 18:17:54.06ID:5d5G+9Ac >>296はどうしようもない低能
その低能にマジレスみっともない
その低能にマジレスみっともない
301デフォルトの名無しさん
2017/08/04(金) 18:24:58.70ID:gG3ajqK7■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【🐼🇨🇳】「高市総理VS中国」で日本からパンダはゼロに? 上野動物園「パンダ返還期限」まであと3カ月… [BFU★]
- 「“なり得る”って言っただけだから…」高市早苗“存立危機”答弁後に漏らした本音 ★3 [Hitzeschleier★]
- 【裁判】山上徹也被告の妹「この人は母のふりをした旧統一教会の信者だと思いました」「でも、母の形をしているから突き放せなかった」 [1ゲットロボ★]
- 【速報】 米大使声明 「日本を支えていく」「中国が威圧的手段に訴えるのは断ち難い悪癖」 [お断り★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★5 [樽悶★]
- 歩道で93歳男性が女子大学生の自転車にはねられ意識不明 坂を下った先「気付いたときには目の前に」 [七波羅探題★]
- 海外メディア「高市首相が中国に宣戦布告した」と報道開始。日本を批判しまくる 日本のマスコミは首相を絶賛してるのに [633746646]
- ニュー速愛国保守、断言…統一教会は全く悪くない。悪いのは母親…宗教に騙される運命だった。統一教会を恨むのはおかしい [819729701]
- 【悲報】山上の母親に統一協会を紹介したのは自民党員だった😨 [868050967]
- 高市コインまもなく158円 [931948549]
- 【悲報】バービー、ついつい高市に苦言を言ってしまい愛国者から袋叩きにあう...「最低限の下調べくらいしろ!💢」 [856698234]
- 中国政府の訪日自粛呼びかけで「目立った影響なし」JR東海・丹羽俊介社長、欧米多く、高市台湾有事発言 [943688309]
