回答数
気になる
-
アセンブラ指令
以下のCをx86_32のアセンブラに落とすと下記の様になるのですが、アセンブラのアセンブラ指令の .zero 4の意味ですが、 ここはCでは8バイトのdwordにデータ12345Lを入れているので、最初の4バイトに.longで12345を入れて、後の4バイトに.zero 4で0を入れているという理解で良いのでしょうか?webを検索してみたのですが、アセンブラ指令で.zero nを説明してくれているサイトが見つかななかったのですが、良いサイトがある場合は、教えて下さい。 (C言語) 1 /* Program ex3-75.c */ 2 //#include <stdio.h> 3 4 union un_def { 5 struct st_def { 6 int dn; 7 int up; 8 } word; 9 long dword; 10 }un_dat = {12345L}; 11 12 int main() { 13 //printf("%ld\n", un_dat.dword); 14 un_dat.word.dn = 123; 15 un_dat.word.up = 456; 16 //printf("%d %d\n", un_dat.word.dn, un_dat.word.up); 17 } (x86_32アセンブラ) 1 .file "ex3-75.c" 2 .text 3 .globl un_dat 4 .data 5 .align 4 6 .type un_dat, @object 7 .size un_dat, 8 8 un_dat: 9 .long 12345 10 .zero 4 11 .text 12 .globl main 13 .type main, @function 14 main: 15 .LFB0: 16 .cfi_startproc 17 pushl %ebp 18 .cfi_def_cfa_offset 8 19 .cfi_offset 5, -8 20 movl %esp, %ebp 21 .cfi_def_cfa_register 5 22 movl $123, un_dat 23 movl $456, un_dat+4 24 movl $0, %eax 25 popl %ebp 26 .cfi_restore 5 27 .cfi_def_cfa 4, 4 28 ret 29 .cfi_endproc 30 .LFE0: 31 .size main, .-main 32 .ident "GCC: (Debian 8.3.0-6) 8.3.0" 33 .section .note.GNU-stack,"",@progbits
質問日時: 2023/06/17 14:47 質問者: tmiyoshi
ベストアンサー
3
0
-
データの外挿について
ev1の数列の最後の値と番を予測したいです。 下のコードを書いたのですが、致命的な弱点が2つあります。 どうすればいいでしょうか?教えてください。 弱点1:多項式だと次数増やすと、pcだと発散して扱いにくいので、別の関数が欲しい 弱点2:コメントアウトをなくすと、データの外挿が全くできてない。 import math import numpy as np import matplotlib.pyplot as plt import matplotlib.pyplot as plt2 import matplotlib.pyplot as plt3 import random import matplotlib.animation as animation import datetime t1=[] ev1=[-25,-25,-24,-24,-17,-13,-22,-13,6,6,6,6,9,9,48,45,75,75,75]#,111,111,145,148,148,115,115,112,150,110,113,113,110,155,155,155,155,256] ev2=[] ev3=[] for i in range(len(ev1)): t1.append(i) ev2.append(-1.421e-03*i*i*i*i*i+6.191e-02*i*i*i*i-9.278e-01*i*i*i+5.856e+00*i*i-1.119e+01*i-2.197e+01) print(len(ev1)) plt.plot(t1,ev1,t1,ev2) plt.show()
質問日時: 2023/06/13 20:46 質問者: 質問者123
ベストアンサー
3
1
-
C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。
以下のC++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 そして、ポリモーフィズムを使うメリットデメリットも教えてくださると幸いです。 #include <iostream> #include <string> using namespace std; class CitizenCard { string name_; int age_; public: CitizenCard() = delete; CitizenCard(string const& name, int age): name_(name), age_(age) {} friend ostream& operator<<(ostream& dst, CitizenCard const& me); }; class TokyoGakuseiCard : public CitizenCard { int num_; public: TokyoGakuseiCard() = delete; TokyoGakuseiCard(int num, string const& name, int age); friend ostream& operator<<(ostream& dst, TokyoGakuseiCard const& me); }; TokyoGakuseiCard::TokyoGakuseiCard(int num, string const& name, int age) : CitizenCard(name, age), num_(num) {} ostream& operator<<(ostream& dst, CitizenCard const& me) { dst << "名前 :" << me.name_ << endl << "年齢 :" << me.age_ << endl; return dst; } ostream& operator<<(ostream& dst, TokyoGakuseiCard const& me) { dst << "学籍番号:" << me.num_ << endl << static_cast<CitizenCard const&>(me) << endl; return dst; } int main(int argc, char** argv) { TokyoGakuseiCard zibun(1, "Tokyo 太郎", 99); cout << zibun; return 0; }
質問日時: 2023/06/09 11:17 質問者: 2023565656
解決済
2
0
-
C言語でファクト関数を使わずに階乗を計算する方法はありますか?できれば教えてください
C言語でファクト関数を使わずに階乗を計算する方法はありますか?できれば教えてください
質問日時: 2023/06/07 11:45 質問者: Tjdi
ベストアンサー
4
1
-
プログラミング 素数か素数ではないか判断するプログラミングで、写真のようなプログラミングを打ったとき
プログラミング 素数か素数ではないか判断するプログラミングで、写真のようなプログラミングを打ったとき、どのような仕組みで判断されるのでしょうか。 例えば、4を入力したとき4を2で割ったらあまりが0なので、次の段階にいって、そこで4を2で割った0なので、素数ですね。とはならないのでしょうか。4は素数ではないことはどこで判断できているのでしょうか。
質問日時: 2023/05/29 15:50 質問者: 丸末
ベストアンサー
3
0
-
ペーパーマリオみたいにドット絵でない2Dのイラストを作ったりするには何のソフトを使えばいいでしょうか
ペーパーマリオみたいにドット絵でない2Dのイラストを作ったりするには何のソフトを使えばいいでしょうか? 無料のソフトがあれば教えて下さい。 また、作った2DイラストをDXライブラリで描画するには何の関数を使えば良いでしょうか。 どうかよろしくお願い致します。
質問日時: 2023/05/29 11:28 質問者: akitv
解決済
2
0
-
変数のスコープ
ケース1) int main() { int i; for(i=0; i<10; i++) { ... } for(i=0; i<10; i++) { ... } for(i=0; i<10; i++) { ... } ... return 0; } ケース2) int main() { for(int i=0; i<10; i++) { ... } for(int i=0; i<10; i++) { ... } for(int i=0; i<10; i++) { ... } ... return 0; } 上記のケース2)の場合、変数iは各for文ごとに定義しているので、並列処理を行った場合でもコンパイラがそれぞれ別のアドレスを振ってくれると思うのですが、 ケース1)の場合、並列処理を行った場合でもコンパイラは、変数iに対して、別のアドレスを振ってくれることになるのでしょうか?(ケース1)は並列処理を行わない場合は、上から順番に実行していくだけなので問題はありません。)
質問日時: 2023/05/27 17:50 質問者: tmiyoshi
ベストアンサー
5
0
-
int16_t の _t は何?
int の整数はビット数が不定なので明確にするために int16_t を使ったりしますね。 int16 だけで良さそうなのに何で _t が付いているのでしょう。 数字で終わると不都合が有るとか 他に int16 が使われていて、それと区別するためとか こんな理由じゃないかと言う想像でも構いません。_t の意味を知りたい。
質問日時: 2023/05/27 12:47 質問者: ricardo_
ベストアンサー
1
1
-
逆ポーランド法の計算について
• 逆ポーランド記法で書かれた次の式を過程の式を含めて計算してください。 (1) 5 4 + 3 * 2 + 1 * (2) 1 2 3 4 5 + * + *
質問日時: 2023/05/27 00:53 質問者: ガチムチとるこ
ベストアンサー
3
0
-
略語の読み方について
プログラムを書くときなど、変数名や関数名はできるだけわかりやすい名前を選ぶと思いますが、あまりに長すぎるとコードが見にくくなるため(私はXtCreateManagedWidget()とかで心を折られた記憶があります)、略語を織り交ぜた名前付けをすることも多々あると思います。また、型名などでも略されているものがありますよね。 ここで質問ですが、一般的によく使われる略語の「読み方」はどのように読んでいるのでしょうか?われわれ日本人が勝手に読んでいる読み方と、もしわかれば英語文化圏の方がどのように読んでいるかを教えて欲しいです。 たとえば、下記は私は次のように読んでいます。英語文化圏の方がどう読んでいるかは知りません。 src → そーす(source) dst → ですと(destination) tmp → てんぷ(temporary) cfg → こんふぃぐ(configuration) ref → れふ(reference) cnt → かうんた(counter) cur → かー(current) asc → あすく(ascend) desc → ですく(descend) ptr → ぽいんた、ぷとら(pointer) str → すとら(string) int → いんと(integer) char → ちゃー(chacactor) buf → ばふ(buffer) たとえば、組み合わせてこんな感じに読んでいます。 cur_cfg → かーこんふぃぐ ref_cnt → れふかうんた ・上記に例示した語の読み方(出来れば英語文化圏の方の読み方も)を教えてください ・他によく使う語の例があったら教えてください
質問日時: 2023/05/25 12:35 質問者: k-841
解決済
2
1
-
C言語 1から20までの逆数の和を求めたいのですが、このようにプログラミングしたら値が負になってしま
C言語 1から20までの逆数の和を求めたいのですが、このようにプログラミングしたら値が負になってしまいました。何がおかしいのか教えて欲しいです。
質問日時: 2023/05/22 18:31 質問者: 丸末
ベストアンサー
3
0
-
C言語 入力した値から0までの数を並べて表示するプログラミングを作りたいんですけど、自分でやってみた
C言語 入力した値から0までの数を並べて表示するプログラミングを作りたいんですけど、自分でやってみたんですが写真のようにうまくいきません、どのようにしたらいいのか教えて欲しいです。
質問日時: 2023/05/22 18:18 質問者: 丸末
解決済
2
0
-
ディスプレイの解像度とマウスの位置について
すみません、プログラムでマウスの位置情報を扱うので このジャンルでお願いします。 今現在、15.6インチのモニターを解像度1920×1080で使用しているのですが、 11.6インチのモニターでも1920×1080なら画面上のマウスの位置情報というのは同じになるのでしょうか? 例えば、「MPPUtility」というアプリで http://kaga.nsk.ne.jp/~wtr/mpp/index.html 15.6インチのモニター解像度1920×1080で画面の右下の隅までマウスを移動させて 位置情報を測ってみたところ、「X=1535、Y=863」でした。 11.6インチのモニターでも同じような座標(「X=1535、Y=863」)になるのでしょうか?
質問日時: 2023/05/21 19:01 質問者: takagoo100
ベストアンサー
2
0
-
スタックフレームの消滅
スタックフレームの消滅についての質問です。 以下のCのプログラムですが、 char *sayHello(void) { char s[] = "hello"; return s; } int main(void) { char *s; s = sayHello(); printf("%s\n", s); return 0; } コンパイルすると、 warning: address of stack memory associated with local variable 's' returned [-Wreturn-stack-address] のワーニングが出て、実行すると、nullが返ってくる様ですが、 書籍にも、「ローカル変数は、スタックフレームの消滅と共に消えて無くなる」とあるのですが、 実際にアセンブルしたコードを見てみると、リターン後は、sayHello関数のスタックフレームは 無くなり、ebpのベースポインタとespのスタックポインタがそれぞれmain関数のBOTTOMとTOPを指す様になるのですが、sayHelloの関数領域は、次の何かの関数が呼び出されて上書きされない限り、残っている様に思うのですが、アセンブラの処理としてどこかの記述で使い終わったスタックフレームの領域を消去する様な記述がされている様な所とかあるのでしょうか?
質問日時: 2023/05/20 12:33 質問者: tmiyoshi
ベストアンサー
6
0
-
プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ,
プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ,、小さいほうの値と大きい方の値の両方を表示するプログ ラムを作りたいんですけど、この写真のようにやったら、大きい実行結果で大きい値が異なってしまったのですがなぜなのでしょうか。
質問日時: 2023/05/17 12:55 質問者: 丸末
ベストアンサー
5
0
-
プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ,
プログラミング 2つの整数を読み込んで、等しければ 「二つの値は同じです」と表示し、そうでなければ,、小さいほうの値と大きい方の値の両方を表示するプログ ラムを作りたいんですけど、この写真のようにやってもうまくいきませんでした。何がおかしいのか教えてほしいです。
質問日時: 2023/05/15 16:03 質問者: 丸末
ベストアンサー
4
0
-
Cのオブジェクトファイルの逆アセンブル
以下のfuncTest.cを、 int add(int a, int b) { int array[16]; array[0] = a; return a + b; } void func(void) { int r; r = add(7, 5); } gcc -c -m32 funcTest.c でコンパイルし、funcTets.oのオブジェクトファイルを生成し、 objdump -d funcTest.o で逆アセンブルすると、以下の出力となるのですが、 funcTest.o: file format elf32-i386 Disassembly of section .text: 00000000 <add>: 0: 55 push %ebp 1: 89 e5 mov %esp,%ebp 3: 83 ec 40 sub $0x40,%esp 6: e8 fc ff ff ff call 7 <add+0x7> b: 05 01 00 00 00 add $0x1,%eax 10: 8b 45 08 mov 0x8(%ebp),%eax 13: 89 45 c0 mov %eax,-0x40(%ebp) 16: 8b 55 08 mov 0x8(%ebp),%edx 19: 8b 45 0c mov 0xc(%ebp),%eax 1c: 01 d0 add %edx,%eax 1e: c9 leave 1f: c3 ret 00000020 <func>: 20: 55 push %ebp 21: 89 e5 mov %esp,%ebp 23: 83 ec 10 sub $0x10,%esp 26: e8 fc ff ff ff call 27 <func+0x7> 2b: 05 01 00 00 00 add $0x1,%eax 30: 6a 05 push $0x5 32: 6a 07 push $0x7 34: e8 fc ff ff ff call 35 <func+0x15> 39: 83 c4 08 add $0x8,%esp 3c: 89 45 fc mov %eax,-0x4(%ebp) 3f: 90 nop 40: c9 leave 41: c3 ret Disassembly of section .text.__x86.get_pc_thunk.ax: 00000000 <__x86.get_pc_thunk.ax>: 0: 8b 04 24 mov (%esp),%eax 3: c3 ret 以前は、 6、b行の call 7 <add+0x7> add $0x1,%eax と、 26、2b行の call 27 <func+0x7> add $0x1,%eax が無くて、 34、39行の call 35 <func+0x15> add $0x8,%esp が、 call 0 <add> となって、 call命令で<add>の最初の命令を呼び出していたのですが、 何故、この様な出力になってしまったのか分かりかねています。 どなたか分かる方、御教示おください。
質問日時: 2023/05/13 01:51 質問者: tmiyoshi
ベストアンサー
5
1
-
【C言語】全角文字の配列を、全角のまま1文字ずつ出力する方法
char moji5[] = "文字列テスト"; printf("moji5[0] = %c\n", moji5[0]); printf("moji5[1] = %c\n", moji5[1]); printf("moji5[2] = %c\n", moji5[2]); などとやってみても、当然1バイトずつしか出力されないので、ヘンな結果になります。 上記の例で、「文」「字」「列」などと日本語で1文字ずつ出力させるには、どうすればよいのでしょうか?
質問日時: 2023/05/09 15:08 質問者: benkyou-chuu
ベストアンサー
4
0
-
Windows Formアプリからコンソールを呼び出して文字を出力させたい
Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.5.5のC#で Windows Form アプリケーション(.Net Framework4.8)を作成して そこで次のようにしてbutton1を押してコンソールに文字を出力したかったのですが、 コンソールは出るのですが文字が出力されないです。 これはなぜなのでしょうか? using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace CallConsoleWindow { public partial class Form1 : Form { [System.Runtime.InteropServices.DllImport("kernel32.dll")] private static extern bool AllocConsole(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { AllocConsole(); Console.WriteLine("test"); Console.ReadLine(); } } }
質問日時: 2023/05/09 10:53 質問者: takagoo100
ベストアンサー
8
0
-
numpyスライス機能を使った数値計算
・スライス機能で数値計算を行うにあたり処理の条件分岐ができるように実現したいです。 現在、2次元配列の数値計算のプログラムを作成しています。 以前作成した2重ループの数値計算のプログラムでは問題なく 前ステップの値(i-194)が-1より小さかったら処理1 前ステップの値(i-194)が-1より大きかったら処理2 となるような計算はされていますが配列が巨大なためものすごく時間がかかってしまいます(下に載せてあります)。 ということもありスライス機能を使って高速化させようと思ったのですが、一度にすべて計算してしまうスライス機能で処理の条件分岐ができるのか知りたいです。 またほかの良い方法がありましたら是非ご教授宜しくお願い致します... #2重ループの数値計算のプログラム c1=1190000 c2=113000000 c3=1.66 h1=0.003 kf1=0.00034 kl1=0.0004 x=1.2 for i in range(194, prd.shape[0]): for j in range(prd.shape[1]): if prd[i-194,j]<=-1: prd[i,j]=prd[i-194,j]+2/(x*np.log(c1+c2/(0-prd[i-194,j])**c3))*(h1*(24-prd[i-194,j])+(kf1+(kl1-kf1)*(0+1)/(0-prd[i-194,j]))*(prd[i-194,j-1]-2*prd[i-194,j]+prd[i-194,j+1])/x) else: prd[i,j]=prd[i-194,j]+2/(x*np.log(c1))*(h1*(24-prd[i-194,j])+kl1*(prd[i-194,j-1]-2*prd[i-194,j]+prd[i-194,j+1])/x) #スライスのプログラム c1=1190000 c2=113000000 c3=1.66 h1=0.003 kf1=0.0034 kl1=0.004 x=1.2 for i in range(194, prd.shape[0]): for j in range(1, prd.shape[1]): if prd[i-194, j]<=-1: prd[i, 1:]=prd[i-194, 1:]+2/(x*np.log(c1+c2/(0-prd[i-194, 1:j])**c3))*(h1*(24-prd[i-194, 1:])+(kf1+(kl1-kf1)*(0+1)/(0-prd[i-194, 1:]))*(prd[i-194, 0:-1]-2*prd[i-194, 1:]+prd[i-194, 2:])/x) if prd[i-194, 1:]>-1: prd[i, 1:]=prd[i-194, 1:]+2/(x*np.log(c1))*(h1*(24-prd[i-194, 1:])+kl1*(prd[i-194, 0:-1]-2*prd[i-194, 1:]+prd[i-194, 2:])/x)
質問日時: 2023/05/08 16:01 質問者: まつたく
解決済
2
0
-
大量のデータを読み込んで表示する速度を改善したい
Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.5.5 のC#で大量のCSVファイルのデータを読み込んでそれを WindowsフォームアプリではtextBoxにAppendTextで追加する方法と コンソールアプリではConsole.WriteLineで追加する方法では、 表示速度がWindowsフォームアプリの方が圧倒的に遅いのですが これは何が原因なのでしょうか? またWindowsフォームアプリでこの処理を早くするにはどうすれば良いのでしょうか? 【コンソールアプリ】 public class Program { static void Main(string[] args) { TextFieldParser parser = new TextFieldParser("USDJPY.csv", System.Text.Encoding.GetEncoding("Shift_JIS")); parser.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited; parser.SetDelimiters(","); parser.ReadLine(); int cnt = 0; DateTime dt_start = DateTime.Parse("2022-12-29 00:00:00"); DateTime dt_end = DateTime.Parse("2022-12-30 23:59:00"); while (parser.EndOfData == false) { string[] column = parser.ReadFields(); DateTime dt = DateTime.Parse( column[0].Substring(0, 4) + "-" + String.Format("{0:D2}", column[0].Substring(5, 2)) + "-" + String.Format("{0:D2}", column[0].Substring(8, 2)) + " " + String.Format("{0:D2}", column[1].Substring(0, 2)) + ":" + String.Format("{0:D2}", column[1].Substring(3, 2)) + ":00"); Console.WriteLine(column[0]); if (dt < dt_start) continue; if (dt > dt_end) continue; Console.WriteLine("■"+column[0]); } } } 【Windowsフォームアプリ】 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void readCSV() { TextFieldParser parser = new TextFieldParser("USDJPY.csv", System.Text.Encoding.GetEncoding("Shift_JIS")); parser.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited; parser.SetDelimiters(","); parser.ReadLine(); int cnt = 0; DateTime dt_start = DateTime.Parse("2022-12-29 00:00:00"); DateTime dt_end = DateTime.Parse("2022-12-30 23:59:00"); while (parser.EndOfData == false) { string[] column = parser.ReadFields(); DateTime dt = DateTime.Parse( column[0].Substring(0, 4) + "-" + String.Format("{0:D2}", column[0].Substring(5, 2)) + "-" + String.Format("{0:D2}", column[0].Substring(8, 2)) + " " + String.Format("{0:D2}", column[1].Substring(0, 2)) + ":" + String.Format("{0:D2}", column[1].Substring(3, 2)) + ":00"); textBox1.AppendText(column[0]+Environment.NewLine); if (dt < dt_start) continue; if (dt > dt_end) continue; textBox1.AppendText("■" + column[0] + Environment.NewLine); } } private void button1_Click(object sender, EventArgs e) { readCSV(); } }
質問日時: 2023/05/07 13:29 質問者: takagoo100
ベストアンサー
8
0
-
C# DatagridviewにExcelシートを反映するとエラーが出る
DatagridviewをExcelシートに保存しています。 それを呼び出し再編集するとセルが青くなったり、セルの値が消えたり、操作ができなくなったり最終的にはエラーが出てしまいます。 これらを回避するにはどうしたらいいでしょうか?コマンドプロンプトかcsc.exeで実装しています。 コードはこちらです。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Windows.Forms; public class Form1 : Form { private DataGridView Grid1; private DataGridView Grid2; private DataGridView Grid3; private DataGridView Grid4; public Form1() { InitializeComponent(); //自動生成するために必要 Grid1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);//計算 } private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == 5) { int v1, v2, v3; if (Int32.TryParse((string)Grid1[6, e.RowIndex].Value, out v1) && Int32.TryParse((string)Grid1[7, e.RowIndex].Value, out v2) && Int32.TryParse((string)Grid1[8, e.RowIndex].Value, out v3)) { Grid1[5, e.RowIndex].Value = (v1 - v2 - v3).ToString(); } } } private void call(Object sender, EventArgs e) { Type objType = Type.GetTypeFromProgID("Excel.Application"); dynamic objXLS = Activator.CreateInstance(objType); objXLS.Visible = true; //string Cd = Directory.GetCurrentDirectory(); //現在のファイルパス string strFileName = "パス名"; dynamic objBook = objXLS.Workbooks.Open(strFileName); //エクセルに反映 Grid1.Rows[0].Cells[0].Value = objBook.Worksheets(1).Cells(4, 2).Value; Grid1.Rows[1].Cells[0].Value = objBook.Worksheets(1).Cells(6, 2).Value; Grid1.Rows[2].Cells[0].Value = objBook.Worksheets(1).Cells(8, 2).Value; Grid1.Rows[3].Cells[0].Value = objBook.Worksheets(1).Cells(10, 2).Value; Grid1.Rows[4].Cells[0].Value = objBook.Worksheets(1).Cells(12, 2).Value; ・・・省略(Grid数4つ、列行数様々を反映させています) objBook.Close(true); objBook = null; //Excelクローズ objXLS.Quit(); objXLS = null; //Excel終了 } 関係ありそうなコードだけ記載しました。どの部分を修正が必要でしょうか?
質問日時: 2023/05/06 17:12 質問者: djtriple
ベストアンサー
2
0
-
ハミング符号の解読について
ハミング符号で符号化された 0,1,0,1,1,0,1, 1, 1,0,0, 1,0,1, 0,1,0,1,1, 0,0 ,0 ,0,1,0,1,0,0 のようなビット列を受信した. 8bit の ASCIIコードだとして解読してください。
質問日時: 2023/05/06 00:20 質問者: ガチムチとるこ
ベストアンサー
1
0
-
関数ポインタの高速化のメリット
Cで以下の様な関数ポインタテーブル int (*a[2])(int, int) を使うメリットとして、処理を高速化できるというメリットの説明として、 「関数に引数を渡す場合、100MB程度の配列を引数にした場合、仮引数のコピーするのに多大な 時間がかかってしまいます。しかし、ポインタを使えば先頭のアドレスを渡すだけなので、コピーの 時間が省けます。少しでも処理を速くしたい場合などによく用いられます。」 とあるのですが、 引数の配列を参照渡しで渡すというのなら意味が分かるのですが、関数ポインタとして処理が高速化 できるという上記の説明が納得できません。どういったシチュエーションのことを言っているので しょうか?分かる方、御教示願えたらと思います。
質問日時: 2023/05/05 20:15 質問者: tmiyoshi
ベストアンサー
7
0
-
メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが //
メインプログラムに#include <algorithm>を書いて、 そのメインプログラムが // キャラクターリストをy座標に基づいてソート std::sort(characters.begin(), characters.end(), compareCharacters); を含む関数を扱うのですが、 この関数の書いてあるヘッダファイルには#include <algorithm>は書いていません。 するとstd::sort(characters.begin(), characters.end(), compareCharacters);を含む関数が書かれたメインプログラムに#include <algorithm>が書いてあるのに std::sort(characters.begin(), characters.end(), compareCharacters);は宣言されていないとエラーが出ます。 なぜでしょうか? また、メインプログラムだけに#include <algorithm>が書いて、 ヘッダファイルに書かれたstd::sort(characters.begin(), characters.end(), compareCharacters);をエラーを起こさずコンパイルする方法はありますでしょうか? どうか分かりやすく教えて下さい。
質問日時: 2023/05/02 11:24 質問者: akitv
解決済
3
1
-
ActiveXコントロールを.NETにインポートできない???
いつもお世話になっています。 ブックオフでプログラミングC#第5版を買って、順に読み進めています。 23章 .NETとCOMの連携 23.1.1 ActiveXコントロールの作成 の所で、 もしもVB6を持っていないかコントロールの作成は退屈で省略したいという場合は、O'ReillyのWebサイトhttp://examples.oreilly.com/9780596527433/からダウンロードすることもできます。 とあるので、ダウンロードし、 23.1.2 ActiveXコントロールを.NETにインポートする の所にある、Regsvr32 CalcControl.ocx を実行して、 23.1.2.1 コントロールのインポート の所で、[ツールボックス アイテムの選択] ダイアログが表示されるので、図23-6のように [COM コンポーネント] タブを選択した後、追加するコントロール(CalcControl.Calculator)にチェックをつけます。 とあるのですが、そのような名前のコントロールは見当たらず、先に進めなくなってしまいました。 どのような原因が考えられますか。 ちなみにダウンロードしたファイルの直リンは↓これです。 https://resources.oreilly.com/examples/9780596527433/-/raw/master/ProgrammingCSharp5thEdition/ch23%20Programming%20.NET%20and%20COM/ImportedOCX/ImportedOCX/CalcControl.ocx
質問日時: 2023/05/02 02:50 質問者: zyousuke
ベストアンサー
2
0
-
C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。
abcdefghを反転させたいのですが、 ?に入る式がわかりません。 #include <stdio.h> #define N 8 void revstr(char s1[], char s2[], int n){ if (n < N){ char buf = s1[n]; revstr(s1, s2, n+1); *(s2 + ? ) = buf; } } int main(void){ char s1[N+1] = "abcdefgh", s2[N+1]; printf("%s\n", s1); revstr(s1, s2, 0); s2[N] = '\0'; printf("%s\n", s2); return 0; }
質問日時: 2023/04/29 20:32 質問者: nomorethan
解決済
4
1
-
チャットGPT 4について質問があります。 画像のような3つの種類がありますが、それぞれ何が違うので
チャットGPT 4について質問があります。 画像のような3つの種類がありますが、それぞれ何が違うのでしょうか? 是非詳しい解説をお願い致します。 課金すると画像を入力して、出力できると聞いたのですが、その機能が見当たりません。 どうすれば出来るでしょうか? また、制作しているプログラムがあり、チャットGPT 4から助言してもらったり、コードを改良してもらおうとしたのですが、貼り付けたコードが長すぎてエラーが起きます。 どうすれば良いでしょうか。 最後にgithub以外でプログラムのコードを無料でアップできるウェブサイトはありますか? 出来れば登録なしで使えるサイトをお願い致します。
質問日時: 2023/04/29 03:12 質問者: akitv
ベストアンサー
1
0
-
整数1〜99を入力させ、それを英語で表示するプログラムを作成したいんですが、そのプログラミングを教え
整数1〜99を入力させ、それを英語で表示するプログラムを作成したいんですが、そのプログラミングを教えて欲しいです
質問日時: 2023/04/28 14:12 質問者: M.ueee
解決済
4
0
-
c言語
下に書いたプログラムを実行すると40が出力されるとおもったら、50が出力されました。なぜかおしえてください。(七行目までで*b=40になるところまではわかりました。 八行目でa=50としているものの、次の行でa = *bとあるのでa=40ではないかと考えました。) #include <stdio.h> int main(void){ int a = 10; int *b; a = a + 10; b = &a; *b = a + a; a = 50; a = *b; printf("%d \n", a); return 0; }
質問日時: 2023/04/27 13:20 質問者: godhaya
ベストアンサー
5
0
-
Cの関数の引数のconst *charについて
Cの fgets()関数の第1引数の型は、char *で、 fputs()関数の第1引数の型は、const char * となっていますが、fgets()でchar * に、constが付かないで、fputs()にconstが付く理由って何かあるのでしょうか?
質問日時: 2023/04/25 13:05 質問者: tmiyoshi
ベストアンサー
5
0
-
public class Emplo : IComparable<Emplo>の<Emplo>の意味
いつもお世話になっています。 ブックオフでプログラミングC#第5版を買って、順に読み進めています。 最初の方は、丁寧な説明があって分かりやすかったのですが、だんだん難しくなってきました。 特にP187の9.5制約の箇所では、説明がほとんど無く、いきなりサンプルコードになっています。 ここのサンプルコードの最初の方で、 public class Employee : IComparable<Employee> { となっているのですが、最後の<Employee>の意味を教えてください。
質問日時: 2023/04/23 23:33 質問者: zyousuke
ベストアンサー
2
0
-
解決済
3
0
-
PC画面を録画するプログラムでdllの読み込みエラー
このジャンルでお願いします。 Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.5.4 のC#でPC画面を録画するプログラムを作りたいのですが、 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using AForge.Video.FFMPEG; namespace SreenRecord { public partial class Form1 : Form { public Form1() { InitializeComponent(); VideoFileWriter writer = new VideoFileWriter(); writer.Close(); } } } を実行すると、 「ファイルまたはアセンブリ 'AForge.Video.FFMPEG.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたモジュールが見つかりません。」 というエラーがでます。 ちゃんと実行フォルダ?Debugに「AForge.Video.FFMPEG.dll」などのライブラリは入っているのですが、 なぜこのようなエラーがでるのでしょうか?
質問日時: 2023/04/22 08:31 質問者: takagoo100
解決済
1
0
-
Cのdoubleの浮動小数点表示について
Cのdoubleの8バイトの浮動小数点がメモリ上でどの様に配置されているかを見たいので、以下のようなプログラムを作ってみてみました。結果、 d=2.0の時、 0 0 0 0 0 0 0 40 d=4.0の時、 0 0 0 0 0 0 10 40 d=8.0の時、 0 0 0 0 0 0 20 40 となる様なのですが、何故仮数部の表示がこの様な値になるのかが分かりかねています。環境は、 iMacのXcodeのCを使っています。 どなたか分かる方、ご教示ください。 #include <stdio.h> int main(int argc, const char * argv[]) { // insert code here... double d = 2.0; printf("%p\n", &d); printf("%p\n", &d+1); void *vp = &d; char *cp = vp; for (int i=0; i<8; i++) { printf("%x ", *cp); cp++; } printf("\n"); printf("%lf\n", d); return 0; }
質問日時: 2023/04/17 13:14 質問者: tmiyoshi
ベストアンサー
3
1
-
このジャケットの赤が欲しいのですが。
https://www.sundaymountain.jp/c/brand/patagonia/p06-1016?utm_source=criteo&utm_medium=display&utm_campaign=product よろしくお願いいたします。
質問日時: 2023/04/13 19:58 質問者: lagaferudo
ベストアンサー
1
0
-
マクロ関数 #define の効果は何ですか? わかりやすく教えて下さい
マクロ関数 #define の効果は何ですか? わかりやすく教えて下さい
質問日時: 2023/04/05 18:14 質問者: ちわちわwww
ベストアンサー
5
0
-
const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか
C言語で const char**P; と宣言すると、pの指す先の指す先がconstになると理解しています。 つまり、pの指す先はconstではないと思うのですが free(p)をすると、warning C4090: '関数': 異なる 'const' 修飾子です。のメッセージがでます。 その理由を教えていただけないでしょうか。 ちなみに、C++では出ません(ソースファイルの拡張子cpp)の時はメッセージは出ない) エラーとなるのは、拡張子がcの時のみです。 OS:Windows11 開発環境:VisualStudio2019 です。 以下は、エラーを出力するためのサンプルです。 #include <stdio.h> #include <stdlib.h> #include <string.h> #pragma warning(disable:4996) //関数subの中では、引数pの指す先は書き換えないので、仮引数にconstを付ける //subの仮引数でconstを付けたので、以下のgPの宣言にもconstを付ける //これを付けないと、①の行でwarning C4090が出る const char** gP; void sub(const char* p) { gP = (const char**)malloc(sizeof(char*)); *gP = p; //① } void sub2() { free(gP); // ②warning C4090: '関数': 異なる 'const' 修飾子です。 } int main() { char* p; p = (char*)malloc(100); strcpy(p, "abc"); sub(p); printf("%s", p); sub2(); free(p); return 0; }
質問日時: 2023/03/31 16:28 質問者: cyacya2000
ベストアンサー
3
1
-
【現役のプロのプログラマーに質問です】プロの大工は相手と握手したら相手の大工の腕が分かる
【現役のプロのプログラマーに質問です】プロの大工は相手と握手したら相手の大工の腕が分かるそうですが、プログラマー同士の初見だとどこを見たらプロのプログラマーとプログラムが出来ないプログラマーとを見分けられますか?
質問日時: 2023/03/28 20:42 質問者: redminote10pro
ベストアンサー
3
0
-
C言語でif文が予想と違う動きをする件について7
atcoderで問題を解いていたのですが、なぜif分の条件がtrueにならないのかが分かりません。 ご教授願えませんか、、 C言語です。 *問題文 https://atcoder.jp/contests/abc294/tasks/abc294_a #include<stdio.h> int main(void){ int N,num; scanf("%d", &N); for (int i = 0; i < N; i++) { if ((scanf("%d", &num) == 0) && (num % 2 == 0)){ ←←←←この条件文 printf("%d ", num); } } return 0; }
質問日時: 2023/03/20 00:26 質問者: alekfkd
ベストアンサー
4
1
-
UnityInputSystemによるtouch入力で,context.startedが1回しか
UnityInputSystemによるtouch入力で,context.startedが一度目しか検知されません。 ゲームビューにてテストを行うとき,一番初めにタッチしたときにのみ,started,performed,cancelledの3つのフェイズが検知されており, それ以降のタッチではperformedが2回(press and release)検知され,startedとcancelledは検知されなくなってしまいます。 ゲームビューではtouch simulation?を有効にし,マウスクリックをタッチに模してテストを行なっています。しかし,実際にiPhoneにビルドして操作してみても上記同様,context.startedが一度目しか検知されていないようです。 PlayerInputコンポーネントをプレイヤーに付けて,画面タッチがあれば下記のC#スクリプトの_OnTouchを呼び出すようにしています。 public void _OnTouch(InputAction.CallbackContext context) { Debug.Log(context.phase); } 少しでも原因として考えられるものがあれば教えていただきたいです。 また,performedが2回ではなく,1回しか呼ばれないときがしばしばありますが,TouchPressの閾値(default0.5)などが関係しているのでしょうか?
質問日時: 2023/03/18 15:04 質問者: 永井圭
ベストアンサー
1
0
-
C言語初心者 ポインタについて、お助けください、、
以下問題に躓いていて解答コードをお願いします、、 関数名 addArray 渡された配列要素にそれぞれ 100 を足す。 データ型 void 引数 データ型 名前 説明 第 1 short* Array 配列へのポインタ 第 2 int size 配列要素数 main 関数で次の配列が定義されている。 addArray 関数を呼び出した後に、書き換えられた配列を main 関数側で画面に表示し、目的の値に書き換わっていることを確認せよ。 データ型 変数名 初期値 short num[] {10,20,30,40,50} 補足 配列の数や初期値を変更しても目的の結果が得られることを確認すること。 表示例 num[0] = 110 出力期待値 num[0] = 110 num[1] = 120 num[2] = 130 num[3] = 140 num[4] = 150
質問日時: 2023/03/15 23:50 質問者: 888ponta888
ベストアンサー
2
0
-
C言語初心者です、、、お助けください
以下設問お助けください、、、 解答コードお願いしますm(__)m 関数名 getFruitPrice 引数指定したフルーツ種別に対する価格を price 引数に出力する。 データ型 説明 int 0:正常に値段が出力できた -1:存在しないフルーツ種別が指定された 引数 データ型 名前 第 1 short fruitID フルーツ種別 ID 第 2 long * price フルーツ価格 説明 フルーツ種別 ID は次のものをサポートするものとし#define で定義すること。 define 名 フルーツ種別 ID 説明 D_APPLE_ID 1 リンゴ。価格は 150 円 D_ORANGE_ID 2 みかん。価格は 100 円 D_BANANA_ID 3 バナナ。価格は 80 円 main 関数から getFruitPrice 関数を呼び出し、画面に価格を表示せよ。与えるフル ーツ種別 ID を変えて出力期待値が表示されるようにせよ。 補足 getFruitPrice 関数では switch-case 文を使用して種別を判定すること。 表示例 フルーツ種別:1 価格:150 円 出力期待値 フルーツ種別が 1 の時 → フルーツ種別:1 価格:150 円 フルーツ種別が 2 の時 → フルーツ種別:2 価格:100 円 フルーツ種別が 3 の時 → フルーツ種別:3 価格:80 円 フルーツ種別が 4 の時 → 対象のフルーツは存在しません
質問日時: 2023/03/14 20:08 質問者: 888ponta888
ベストアンサー
2
0
-
C言語の質問です if(a[0]>a[1]&&a[2]&&a[3]&&a[4]) {printf(“
C言語の質問です if(a[0]>a[1]&&a[2]&&a[3]&&a[4]) {printf(“%dが最高得点です。国語です。/n”,a[0]);} もし a[1]とa[2]とa[3]とa[4]より、 a[0]の方が大きい時を書いているのですが、 正しく a[1]とa[2]とa[3]とa[4]よりa[0]が大きい と書けれてますでしょうか?
質問日時: 2023/03/14 16:47 質問者: ちわちわwww
ベストアンサー
3
0
-
C言語初心者 構造体 課題について
C言語初心者です。 以下問題でコードの書き方がわからないところがあるので解答コードと解説も踏まえて教えていただきたいです。 明日までの課題で急いでいます。。。 よろしくお願いいたします。 typedef を使用して次の列挙型を定義せよ。 列挙型名 E_ANIMAL_ID 名前 説明 E_ANIMAL_ID_KIRIN キリン E_ANIMAL_ID_TORA トラ E_ANIMAL_ID_ZOW ゾウ E_ANIMAL_ID_KABA カバ 次の構造体と変数 animal が作成されている。 構造体名 S_Animal データ型 名前 説明 char jpName[32] 日本語名 char enName[32] 英語名 この animal 変数の配列インデックスに E_ANIMAL 型の変数を指定し対象動物の日 本語名と英語名を画面に表示せよ。 補足 列挙型を配列インデックスで使用するプログラムを学ぶ。 表示例 日本語:麒麟 英語名:Giraffe 出力期待値 E_ANIMAL_ID_KIRIN → 日本語名:麒麟 英語:Giraffe E_ANIMAL_ID_TORA → 日本語名:虎 英語:Tiger E_ANIMAL_ID_ZOW → 日本語名:象 英語:Elephant E_ANIMAL_ID_KABA → 日本語名:河馬 英語:Hippo ーーーーーーーーーーーーーーーーーーーーーーーーーーー #include <stdio.h> // typedefを使用しE_ANIMAL_ID列挙型を定義せよ typedef enum { E_ANIMAL_ID_KIRIN = 0, E_ANIMAL_ID_TORA, E_ANIMAL_ID_ZOW, E_ANIMAL_ID_KABA, }E_ANIMAL_ID; typedef struct { char jpName[32]; char enName[32]; } S_Animal; int main(void) { S_Animal animal[] = { {"麒麟", "Giraffe" }, {"虎", "Tiger" }, {"象", "Elephant" }, {"河馬", "Hippo" }, }; // 表示したい動物IDを初期値として与えよ // printfで動物の名称を表示せよ。配列インデックスにはanimalIDを利用せよ printf(""); return 0; }
質問日時: 2023/03/10 19:48 質問者: 888ponta888
ベストアンサー
2
0
-
C言語初心者 構造体 課題について
C言語初心者です。 以下課題に躓いていまして解答コードをご教示いただきたく存じます。 よろしくお願いいたします。 課題内容 次の構造体を typedef を使用して定義せよ。 構造体名 S_Human データ型 名前 説明 char name[32] 氏名 short age 年齢 double height 身長(cm) double weight 体重(kg) 次の構造体変数を定義し、指定した値で初期化を行いなさい。 データ型 変数名 初期値 S_Human people[] 下記に従う ■初期値 氏名 年齢 身長 体重 Jack 34 168.5 56.4 George 43 183.6 98.8 Leonardo 30 179.2 68.5 Gabriel 7 120.6 24.7 Henry 18 175.6 63.5 彼らの中から次の条件を満たす人物を抽出し、画面に氏名を表示せよ。複数いた場 合は合致した全ての人を表示せよ。 ■抽出対象① 身長が 170cm 以上で体重が 60kg 以上の人 ■抽出対象② 年齢が 30 歳未満で身長が 170cm 以上の人 出力期待値 抽出対象① George Leonardo Henry 抽出対象② Henr ーーーーーーーーーーーーーーーーーーー #include <stdio.h> typedef struct { char name[32]; short age; double height; double weight; }S_Human; S_Human people[] = { {jack,34,168.5,56.4} {George,43,183.6,98.8} {Leonardo,30,179.2,68.5} {Gabriel,7,120.6,24.7} {Henry,18,175.6,63.5} }; int main(void) { return 0; }
質問日時: 2023/03/10 19:30 質問者: 888ponta888
ベストアンサー
1
0
-
visual studio 2019において、宣言していない変数があるのにエラーなくビルド出来ました
visual studio 2019において、宣言していない変数があるのにエラーなくビルド出来ました。 これと同じ現象になったり、不可思議な出来事があった方いますか?
質問日時: 2023/03/08 16:32 質問者: akitv
ベストアンサー
6
0
-
プログラミング アルゴリズム
https://onlinejudge.u-aizu.ac.jp/problems/ITP1_6_B この問題のアルゴリズムを教えてください。
質問日時: 2023/03/07 23:21 質問者: godhaya
ベストアンサー
2
0
-
stdio.hのバッファについて。
例えば、コンピュータとプログラムとで、1GBのやりとりをする時、2MBのやりとりしかしない場合 残り998MB残りますが、この残ったのが、かえってきてそれがバッファということは理解できるのですが、予め用意しておくという方法があるが、それはまた別の話と友人が言っていたのですが、予め用意しておくというのは何というのでしょうか?教えていただけると嬉しいです。
質問日時: 2023/03/07 16:01 質問者: メラゾーム
解決済
6
0
-
ベストアンサー
3
1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
最新のコラム/記事
-
マッチングアプリで出会ったカップルは成婚率が高い!?結婚カウンセラーに聞いてみた
パートナーとの出会いの場として、もはや主流となったネット婚活やマッチングアプリ。中でも手軽に登録できるマッチングアプリは、10代から50代と幅広い年代が利用している。一方で、“相手の目的が投資関係の詐欺や...
-
メダロット:第250話「Vol.250※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
メダロット:第249話「Vol.249※期間限定公開」
天才メダロッター六葉カガミの戦いを描く「メダロット再~リローデッド~」(漫画:伯林、監修:イマジニア)、20周年を迎えた『メダロット』が新たなストリーでココに再起動!!★全話無料で読める、週刊メダロット通信...
-
日本古来の伝統工芸「金継ぎ」で修復した食器は前と同じように使えるの?
大切にしている食器が割れてしまったら、きっと誰もが「元に戻したい」と願うだろう。「教えて!goo」にも「割ってしまったお気に入りの食器を復活できる?」という質問があり、最適な方法について様々な意見が寄せら...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
逆コンパイルと逆アセンブルの違い...
-
C言語について。
-
これて逆じゃないですか?
-
C言語について。
-
コンソールアプリを作成するのにお...
-
私は
-
C言語 1から20までの逆数の和を求め...
-
Windows Formアプリからコンソール...
-
プログラムの実行時に'<'でリダイレ...
-
パソコン
-
あんまり考えたくないけど
-
10進数からN進数に変換するプログラ...
-
バッチファイルで以下のようなもの...
-
c#のTLS1.2での通信について
-
だいがくの電し書籍で
-
VisualStudio2022でC言語プログラム...
-
VisualStudioでのプログラミングに...
-
C言語って古いですか?
-
ホワイトハッカーを目指そうかと思...
-
【C言語】全角文字の配列を、全角の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラム言語について c言語もコ...
-
C#でログファイルにファイルパスが...
-
Python、プログラミングについて質...
-
バッチファイルで以下のようなもの...
-
プログラミングの課題がわからない...
-
だれがとけるの?
-
0 == False はいいけど
-
CPUが16bitでも32bitOSでコンパイル...
-
なんで
-
c++でテンプレートのコードでわから...
-
プログラマーです。このDB設計だと...
-
c言語のリダイレクトによる円の描...
-
プログラミングでArduinoのc++かc#...
-
大量のデータを読み込んで表示する...
-
応用情報技術者試験の令和元年秋、...
-
複素関数はどこはあんまりやらなく...
-
gccを行ってもexeファイルが生成さ...
-
c言語
-
swift言語の最適化 swift最適化を最...
-
VisualStudio2022でC言語プログラム...
おすすめ情報