Should I do Pubg Pick up lines ?
Will definitely have to wear a real helmet at the event in case they wanna punch me.
同時也有1部Youtube影片,追蹤數超過115萬的網紅"Even short legs are nice" Cynthia Moon,也在其Youtube影片中提到,#マンチカン #ジェネッタ #短足 猫たちの遊んでいる所を見ていたら、わざとやってるワケじゃないけど、まるでコントをしているみたいです!何度もやらかしてます!笑えます! 猫のスポーツカーと呼ばれるマンチカン。そしてマンチカンとベンガルの掛け合わせのジェネッタ。足は短く、好奇心が強くて遊び好きで楽し...
punch lines 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 八卦
หนึ่งในปัญหาคลาสิก เวลาเขียนโปรแกรมที่ทุกคนต้องเจอเลย
ก็คือการบวกลบเลขทศนิยมในภาษาโปรแกรม ของบางภาษา นี้แหละ
เช่น JavaScript, Python, Perl, C#, C, C++, Java, PHP, Fortran
(และอื่นๆ อีกหลายภาษาที่ไม่ได้กล่าวถึง)
.
หลายครั้งที่มันอาจเพี้ยนได้ เช่น
👉 0.1+0.2 ไม่ได้เท่ากับ 0.3
แต่ได้เป็น 0.30000000000000004
.
👉 หรือ 0.1 บวกกัน 10 ครั้ง ก็ไม่ได้เป็น 1
แต่ได้เป็น 0.9999999999999999
.
คนเขียนโปรแกรมเจอแบบนี้เข้าไป
ก็เหมือนมวยโดนหมัดน๊อคมึนงงในดงโค้ด
:
:
แต่ใช่ว่ามันจะเพี้ยนทุกครั้ง ซะเมื่อไร เช่น
0.5+0.5 = 1 (ถูกต้องเป๊ะ)
0.2+0.3 = 0.5 (บังเอิญไม่เพี้ยน)
.
สำหรับ กรณี 0.2 กับ 0.3 มันถูกตัดเศษเหลือเป็น
0.2000000000000000111022302462515654042363166809082031250
กับ
0.2999999999999999888977697537484345957636833190917968750
พอบวกกันจึงได้ 0.5 พอดี แบบฟลุ๊คๆๆ ซึ่งไม่ควรทำได้
(ตรงสอบดูได้ 0.2+0.3 == 0.5 ได้ค่าออกมาเป็น true)
:
:
สาเหตุที่เป็นเช่นนี้
ก็เพราะว่าคอมพิวเตอร์มันรู้จักแต่ เลขฐาน2 อะนะ
ต่อให้เราเขียนโค้ดใช้เลขฐาน10 ก็ตาม
สุดท้ายเวลาโค้ดมันถูกรัน ก็จะกลายเป็นเลขฐาน 2 อยู่ดี
.
😨 แล้วก็เป็นความซวยที่จะมาเยือนคนเขียนโปรแกรม
เพราะเวลาแปลงเลขฐาน10 ไปเป็นเลขฐาน 2
บางกรณีมันแปลงแล้ว ดันได้ตัวเลขที่ไม่รู้จบเสียด้วยซิ
จึงทำให้การเก็บทศนิยมผิดเพี้ยนไปได้
.
สำหรับรูปแบบการจัดเก็บเลขทศนิยม ในหลายภาษา
เขาจะนิยมใช้มาตรฐาน IEEE-754 floating point
เช่น 0.1 จะถูกมองว่าคือ 1/10
.
เมื่อเก็บเป็นเลขทศนิยมฐานสอง
ตามมาตรฐาน IEEE-754 floating point จะได้เป็น
0.0001100110011001100110011001100110011001100110011...
เป็นทศนิยมไม่รู้จบในรูปเลขฐานสอง ....นี้คือสิ่งที่คอมมองเห็น
.
พอคอมแปลงกลับมาเป็นทศนิยม เพื่อให้มนุษย์โลกอ่านเข้าใจ
ในรูปฐาน 10 ก็จะได้เป็น
0.1000000000000000055511151231257827021181583404541015625
ทว่าคอมมันจะตัดให้เหลือแค่ 0.1 (คนจึงเห็นแค่นี้)
:
🤔 ซึ่งความเพื้ยนแบบนี้
แน่นอนทำให้เกิดบั๊กเวลาคำนวณตัวเลข
- ยิ่งงานต้องการคำตอบที่ละเอียดมาก เช่น งานธนาคาร ก็จะประสบปัญหา เป็นต้น
- หรือเวลานำไปใช้ในเงื่อนไขเปรียบเทียบพวก if, while ฯลฯ ก็อาจมีบั๊กเกิดขึ้นได้ เป็นต้น
.
😀 แต่ไม่ต้องห่วง ในหลายๆ ภาษาเขาจะมีวิธีแก้ปัญหานี้อยู่ครับ
ป้องกันการคำนวณตัวเลข ไม่ให้คลาดเคลื่อน เช่น
- ใน Java ก็จะมีคลาส BigDecimal เอาไว้บวกลบคูณหาร สำหรับเลขทศนิยมโดยเฉพาะ
- ใน Python ก็จะมีคลาสคล้ายๆ กัน เช่น Decimal
- ส่วนใน JavaScript อาจใช้ไลบรารี่ ซึ่งมีให้เลือกเยอะเช่น
https://github.com/MikeMcl/decimal.js/
https://github.com/MikeMcl/bignumber.js/
https://github.com/MikeMcl/big.js/
- ภาษาอื่นที่เหลือลองไปศึกษาเองดูนะครับ
.
.
เรื่องบวกลบคูณหาร เลขทศนิยม ถือเป็นเรื่องสำคัญที่ไม่ควรมองข้าม
โดยส่วนตัวก็เคยเจอความเผลอเรอตรงนี้
ในระดับโปรเจคระดับธนาคาร ก็เคยพลาดมาแล้ว
สุดท้ายต้องมาไล่นั่งแก้โค้ดหลายบรรทัด
เสียเวลานั่งไล่ test ใหม่อีกรอบอีก
.
หมายเหตุเห็นคอมเมนต์สงสัยว่า
PHP กับ C# รอดชะตากรรมเดียวกันไหม ?
ก็บอกว่าไม่รอดครับ
.
// ลองดูตัวอย่างโค้ด C#
Console.WriteLine( ((0.1+0.2) == 0.3)); // False
Console.WriteLine( ((0.1+0.2) == 0.30000000000000004)); // True
// ลองดูตัวอย่างโค้ด PHP
echo number_format(0.1+0.2 , 17);
.
++++++
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
อ่านเรื่อง IEEE-754 floating point ได้ที่
https://th.wikipedia.org/wiki/จำนวนจุดลอยตัว
One of those classic problems, programming that everyone needs to encounter.
It's positive to delete decimal numbers in some language.
เช่น JavaScript, Python, Perl, C#, C, C++, Java, PHP, Fortran
(and many other languages not mentioned)
.
Many times it can be crazy like
👉 0.1 + 0.2 is not equal to 0.3
But I got to be 0.30000000000000004
.
👉 or 0.1 plus 10 times. It's not 1
But I got to be 0.9999999999999999
.
The Programmer found this.
It's like boxing. I got hit by a punch. I'm confused in dong code.
:
:
But it's not that it's crazy every time like
0.5 + 0.5 = 1 (exactly correct)
0.2 + 0.3 = 0.5 (accidentally not crazy)
.
For Case 0.2 and 0.3 it was cut down.
0.2000000000000000111022302462515654042363166809082031250
With the.
0.2999999999999999888977697537484345957636833190917968750
When we are positive, we get 0.5 fit like fluke which you shouldn't be able to do.
(I can watch the exam. 0.2 + 0.3 == 0.5 get the value to be true)
:
:
The cause is like this
Because computers only know the base number 2
Even if we write code, use base number 10
In the end, when the code is run, it will become base number 2 anyway.
.
😨 and it's bad luck to visit the programmer.
Because time to convert base number 10 to base number 2
In some cases, it's converted and I get the number that I don't end.
So it makes the decimal picking wrong.
.
For the decimal number storage in multiple languages
He will be popular with IEEE-754 floating point standards
For example, 0.1 will be seen as 1/10
.
When keeping it as a decimal number, base two.
According to IEEE-754 floating point standards.
0.0001100110011001100110011001100110011001100110011...
It's a decimal. I don't finish in the second base picture.... this is what the computer can see.
.
When the computer converts back to decimal so that the world can read and understand.
In the picture of base 10 will be.
0.1000000000000000055511151231257827021181583404541015625
But the computer will cut to only 0.1 (so people see this)
:
🤔 this kind of being
Sure. It makes cuddle times to calculate numbers.
- the more jobs need detailed answers such as banking work, there will be problems, etc.
- or time to use in comparison terms. If, while etc. There may be cuddle baht.
.
😀 but don't worry. in many languages, there will be a solution to this problem.
Prevent calculation of numbers from inaccurate such as
- in Java, there will be bigdecimal class to delete multiplication for decimal numbers especially.
- in python, there will be similar classes such as decimal.
- Javascript may use a lot of libraries to choose from.
https://github.com/MikeMcl/decimal.js/
https://github.com/MikeMcl/bignumber.js/
https://github.com/MikeMcl/big.js/
- the rest of the other languages, try to study it yourself.
.
.
It's important to delete multiplication, divide the decimal numbers. It's important that you should not overlook.
Personally, I have met a burp here.
At Project Level, bank level has been missed.
Finally, I have to sit and fix many lines of code.
Wasting time to sit and chase the test again.
.
Note that I see the comments. I wonder if
Php and c #survive the same fate?
I said I wouldn't survive.
.
// check out the code C Sample #
Console.WriteLine( ((0.1+0.2) == 0.3)); // False
Console.WriteLine( ((0.1+0.2) == 0.30000000000000004)); // True
// check out the sample code php
echo number_format(0.1+0.2 , 17);
.
++++++
Written by Thai Programmer Thai programmer
Read about IEEE-754 floating point at
https://th.wikipedia.org/wiki/จำนวนจุดลอยตัวTranslated
punch lines 在 เกมถูกบอกด้วย v.2 Facebook 八卦
ข้อเสนอตลอดสัปดาห์บน Steam ลดราคาเกมกว่า 2,000 รายการ
.
ของสัปดาห์นี้ ที่พอจะน่าสนใจ ก็มีดังนี้
.
Mafia Trilogy ลด 34% เหลือ 983.40 บาท
.
FlowScape ลด 75% เหลือ 59.75 บาท
.
NBA 2K21 ลด 84% เหลือ 238.40 บาท
**ไปกดใน Gamersgate ถูกกว่า - https://www.gamersgate.com/product/nba-2k21/?aff=sheapgamer ตอนนี้ลด 85% เหลือ 214.56 บาท (Steam)
.
Stronghold: Warlords ลด 20% เหลือ 479.20 บาท
**ลด 20% ครั้งแรก
.
The Long Dark ลด 67% เหลือ 125.07 บาท
.
SimCasino ลด 25% เหลือ 239.25 บาท
.
Broken Lines ลด 50% เหลือ 174.50 บาท
.
DUSK ลด 40% เหลือ 221.99 บาท
.
Startup Company ลด 33% เหลือ 146.73 บาท
.
One Finger Death Punch 2 ลด 75% เหลือ 39.75 บาท
.
Cyber Agent ลด 33% เหลือ 30.15 บาท
.
นอกเหนือจากนี้ไปดูหน้ารวมดีล
.
รายละเอียดเพิ่มเติมดูที่หน้าร้านค้า
https://store.steampowered.com/search/?filter=weeklongdeals
.
ดีลนี้หมดเวลาในวันที่ 11 พ.ค.
-------------------------------
แค่เติมเงินก็ได้ Steam Wallet แล้ว >> GetSteamWallet.com
-------------------------------
Humble Choice ประจำเดือน เม.ย. จ่าย $12 ประมาณ 360 บาท รับสตีมคีย์ Sniper Ghost Warrior Contracts, F1 2020, Shenmue 3 และอื่นๆ ดูที่นี่ - https://bit.ly/3pZKtBe
punch lines 在 "Even short legs are nice" Cynthia Moon Youtube 的評價
#マンチカン #ジェネッタ #短足
猫たちの遊んでいる所を見ていたら、わざとやってるワケじゃないけど、まるでコントをしているみたいです!何度もやらかしてます!笑えます!
猫のスポーツカーと呼ばれるマンチカン。そしてマンチカンとベンガルの掛け合わせのジェネッタ。足は短く、好奇心が強くて遊び好きで楽しい、愛すべき猫です。
Genetta Munchkin Cat is a cat with short legs. Not only that, they are so curious, playful and fun cats. They are so adorable.
【出演猫】
ルナ(琉月)♀ スポット柄短足短毛ジェネッタ
パワフル いたずらっ子
2020年2月1日生まれ
ラム(良夢)♀ 白猫 短足立ち耳マンチカン
好奇心旺盛 天真爛漫
2014年1月6日生まれ
ロレン(楼蓮)♂ レッドタビー&ホワイト 短足立ち耳マンチカン
世話好き 控えめ甘えん坊
2010年3月10日生まれ
レオン(蓮音)♂ ブラウンタビー&ホワイト 短足耳折れマンチカン
執着心強い お笑い系
2010年3月4日生まれ
リーア(莉亜)♀ シルバータビー&ホワイト 長足長毛マンチカン
好奇心あるけど見せない 姫キャラ 眼力あり
2009年8月11日生まれ
【短足だってイイじゃん♪のSNS】
Instagram https://www.instagram.com/lencynthiamoon/
Facebook https://www.facebook.com/tansokudatte/
Blog http://tansokudatte.blog.fc2.com/
動画や写真の無断転載は固くお断りいたします。
Please refrain from unauthorized reproduction of videos and photos.