Skip to main content

A Big Number Calculating Approach

Although this is the first post of the blog, I have nothing much to say since I'm testing the syntax highlighter. It's a slick javascript highlighter written by Alex Gorbatchev. 

This Big Number class has been written primary for the 3rd Assignment of a unit called Advanced Programming in my 3rd semester at University of Technology and Engineering, Vietnam National University, Hanoi (you can follow this URI for full documents and exercises but I'm not sure whether it will work in the future). According to the requirement of the assignment, I had to implement a linked-list and use that list to store digits of the number. And then I decided to write some operator overloading methods for the class so I can use native operators with the big number objects. List of operators supported:

  1. Input and Output (<<, >>)
  2. Assigning (==) by another integer or another object
  3. Comparison (>, <). Writing >= or <= should be easy since the compare function (cmp) produce different returning value for larger than, less than or equal to. I just didn't write them because it's not required for my assignment
  4. Calculating: adding, subtracting and multiplying (+, -, *, +=, -=, *=)
Originally, the assignment requires adding and multiplying but in the 4th semester, in other unit, the professor requires subtracting so I used the same old class and wrote the subtracting functionality. I want to finish it with dividing also but, well, at first I'm lazy and it seems to be difficult and I have no much time so that's it for now. Here is the full code. Hope it may help some body

Comments

Popular posts from this blog

Flutter: Fixing Firebase header not found with Notification Service Extension

If you follow the FCM tutorial Send an image in the notification payload and encountered this error message: 'FirebaseMessaging/FirebaseMessaging.h' file not found You are on the right place, I'm going to show you how to fix it. My app was working fine but one day it stopped compiling. Apparently Flutter 1.20 changed the way it uses CocoaPod so the service extension no longer has the proper library configured. After some tinkering, I came up with this pod config, it has to be added to ios/Podfile below the main Runner target. target 'FcmImage' do use_frameworks! use_modular_headers! require File.expand_path('../.symlinks/plugins/firebase_core/ios/firebase_sdk_version.rb', __FILE__) firebase_sdk_version = firebase_sdk_version! pod 'Firebase/Messaging', "~> #{firebase_sdk_version}" end FcmImage is my extension name, replace it with yours We can use a hardcoded version for Firebase/Messaging pod but doing so m...

Replacing GCP with Railway for faster cold start

TL;DR I switched a Dart API from Cloud Run to Railway for a 300% faster cold start, simplified DevOps, and a straightforward fee structure. Problem I'm working on this project github.com/daohoangson/flutter_widget_from_html . It is a pub.dev package that's super handy for Flutter developers who want to seamlessly render HTML in their apps. Now, when it comes to HTML, it can get pretty dynamic, right? That's why having a playground to showcase features, troubleshoot issues, and tackle bugs is crucial. The Google team has this fantastic tool called dartpad.dev , which is just perfect for this kind of thing. However, there's a little catch - third-party packages like mine usually can't be used there (unless you have thousands of likes, as explained on  Medium ). So I decided to take matters into my own hands, forked it, then deployed try.fwfh.dev with additional package support. Initial idea since 2019 First deployment  in 2021 Cl...

IMAP module for PHP in Mac OS X Mountain Lion

So here it comes again. I have recently upgraded to Mountain Lion and for whatever reason, Apple decided to nuked all my previous PHP (among other things) configurations so I have to setup IMAP in PHP again. A simple Google search may point you to this post with detailed instruction for Lion however, some steps have been changed a bit... Step 1: Install prerequisites You may choose to download Xcode ( FREE ) from the App Store then go to menu Xcode > menu item Preferences > tab Downloads, select to install Command Line Tools OR you can go to Apple Developer  to get it, you may need to login. Step 2: Compile IMAP Get the IMAP source code from University of Washington website . Please do me a favor and check that website for the latest version, it's good practice. If you that laz y , try to click the "y" to get direct link to 2007f version. Extract the package and open the Terminal to the new directory before executing these command: make osx EXTRACFLAG...