goo blog サービス終了のお知らせ 

みちこたんのぶろぐさんです

このブログでは、その日ふと思ったことや、わたしの紹介、パソコンのことを投稿していこうと思っています。

【C++】10進数を2進数にする過程を出力する超簡易プログラムです(手抜き)

2025-05-07 19:48:07 | パソコン

10進数を2進数にするときは、10進数を2で割っていきます。

計算は簡単ですが過程を出力するとなると…ちょっと面倒くさい。

コンピュータは人間が楽をするための道具、プログラムを作っちゃいました。

#include <iostream>
#include <iomanip>

using namespace std;

int main(void)
{
        int num;

        cout << "input num: ";
        cin >> num;
        cout << endl;

        cout << "2)" << setw(6) << setfill('_') << num << endl;
        while (num) {
                cout << "2)" << setw(6) << setfill('_') << num / 2 << " --- " << num % 2 << " ↑" << endl;
                num /= 2;
        }

        return 0;
}

$ ./a.out
input num: 11111

2)_11111
2)__5555 --- 1 ↑
2)__2777 --- 1 ↑
2)__1388 --- 1 ↑
2)___694 --- 0 ↑
2)___347 --- 0 ↑
2)___173 --- 1 ↑
2)____86 --- 1 ↑
2)____43 --- 0 ↑
2)____21 --- 1 ↑
2)____10 --- 1 ↑
2)_____5 --- 0 ↑
2)_____2 --- 1 ↑
2)_____1 --- 0 ↑
2)_____0 --- 1 ↑

かなり手抜きをしていますが気にしないでくださいね。

手抜きしすぎてバグがあるかも…テストしてない…

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【Ubuntu】Ubuntu 22.04に最新のVMware Workstationをインストールするには

2025-05-05 09:34:17 | パソコン

VMware Workstation Proは個人利用?であれば無料で利用できるようになりました。でも、ダウンロードするにはアカウント登録が必要で、輸出規制の同意も必要だったり、サイト自体がとてもわかりにくくなっています。

今回はこちらは抜きにして、Ubuntu 22.04へのインストールについてです。

Ubuntu 22.04をインストールするときに「通常のインストール」を選択するとLibre office等をインストールしてくれます。

でも、vim.basicやgccやmakeといったプログラミングに必要なものははいっていなかったりします。(最低限の機能のみのvim.tinyは入っています)

VMwareのインストールは、bundleファイルのあるディレクトリに移動して次のようにします。

$ cd ダウンロード

$ sudo ./xxxxxxxx.bundle

プログラムの一覧?でVMwareのアイコンをクリックする。

この状態でVMwareをインストールすると「gcc12がインストールされていない」と怒られます。ここで

$ sudo apt install gcc

としてはいけなかったりします。Ubuntu 22.04でインストールされるのはgcc11だからです。後述のbuild-essentialでも同じです。では

$ sudo apt install gcc-12

とするとどうなるか。gcc12についてのエラーは出なくなりますが、今度は意味不明なエラーが出ます。

結論からお話しするとmakeがインストールされていないと怒っています。

ではどうするかですが、私はプログラマですのでこうします。

$ sudo apt install build-essential

$ sudo apt install gcc-12

これでgcc12とmakeがインストールされてVMwareがインストールできるようになります。

ただ、これでもvim.basicはインストールされていないので気をつけてくださいね。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【Ubuntu】とりあえずUbuntu 22.04 LTSを入れました

2025-04-29 21:11:19 | パソコン

なぜ、Ubuntu 24.04.2 LTSでインストールが失敗するのかわかりませんので、とりあえずUbuntu 22.04 LTSを入れました。

22.04 LTSではnomodesetを追加することなく正常にインストールできました。また、外付けにインストールした20.04 LTSも無事に復旧しました。

私のパソコンは10年以上前に買ったものですし、24.04 LTSからインストーラも変更されています。(LTS以外は知りません)

特に進展がなかったので…

Ubuntuには標準でファイアウォール(ufw)がインストールされていますが、デフォルトでは有効になっていません。またGUIではないので使いにくいかもしれません。そんな時はGUIのufw(gufw)をお勧めします。

標準ではインストールされていませんので、aptコマンドでインストールしてください。

$ sudo apt install gufw

Ubuntuはデフォルトではrootになれないようになっています。

私は以前、rootで設定しましたが、今回は通常ユーザでsudoを使って設定してみました。

また、以前の投稿でも書きましたが、デュアルブートでUbuntuをインストールした場合、Windowsに切り替えた際に時刻が必ず正しくない時刻になります。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【注意】【画像追加】Ubuntu 24.04.2 LTSのインストール時の注意です

2025-04-29 04:32:37 | パソコン

Windows 10のサポート終了で、Linuxへ移行しようという方も多いと思います。

Linuxにもいろいろありますが、有名なものにUbuntuがあります。

私もUbuntuは普段から利用していますが、それらはすべて古いバージョンからのアップグレードでした。

サポート終了が近づき、私もLTS最新版をインストールしようと思ったのですがトラブルが発生しました。

インストールは次のように行いました。

CPU:AMD A10 APU

メモリ:8GB

方法:WindowsとUbuntuのデュアルブート

メディア作成:Win32DiskImager

まず、ISOイメージをダウンロードしてインストールUSBを作成してUSBからブートしました。Ubuntuはほぼ正常にブートできました。ほぼというのは、本来はブート中にインストーラが起動して「試す」か「インストールする」かを選択するのですが、起動した瞬間に終了しました。

その後、お試し用Ubuntuから何度もインストーラを起動しますが、すべて失敗しました。

そこで、USBからブートした瞬間に起動するGRUB(ブートローダ)でnomodesetを追加してブートしました。結果、インストーラもかなり安定した状態で起動しました。

本来はモニター画面を撮影するべきですが、モニター自体10年以上前のものですのでお見せできません。その状態をVMwareで再現した画像です。

4番目の画像が本記事でいう「インストーラ」です。インストール用USBと区別しています。

いくつもの選択のあと実機へのインストールが始まりましたが、そろそろ終わるかなというところで異常終了し、外付けにインストールしたUbuntuまでブートできなくなりました。何度か試しましたが同じところで異常終了しました。GRUBをインストールする直前に異常終了したようです。

何が原因かはわかりませんが、注意喚起を兼ねて投稿しました。

インストール中に失敗した場合、パソコンがどのOSもブートできない状態になります。私はGRUBの復旧は諦め、とりあえずWindows 10だけはブートできるようにしました。

原因がわかり次第、追記または別途投稿しようと思います。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【パソコン】Googleドライブでパソコンのフォルダを同期させると

2025-04-26 21:36:45 | パソコン

Googleドライブでパソコンのフォルダを同期させると、Win32DiskImagerが起動しなくなります。

Copilotが教えてくれました。

一般的にはRufusが有名ですが、私はWin32DiskImagerをよく使います。

Win32DiskImagerを使用する際は、同期をいったん終了しないといけません。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする